<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
          "DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
  <title>gluon.html</title>
  <link rel="stylesheet" href="epydoc.css" type="text/css" />
  <script type="text/javascript" src="epydoc.js"></script>
</head>

<body bgcolor="white" text="black" link="blue" vlink="#204080"
      alink="#204080">
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
       bgcolor="#a0c0ff" cellspacing="0">
  <tr valign="middle">
  <!-- Home link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="gluon-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Tree link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Index link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Help link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Project homepage -->
      <th class="navbar" align="right" width="100%">
        <table border="0" cellpadding="0" cellspacing="0">
          <tr><th class="navbar" align="center"
            ><a class="navbar" target="_top" href="http://www.web2py.com">web2py Web Framework</a></th>
          </tr></table></th>
  </tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
  <tr valign="top">
    <td width="100%">
      <span class="breadcrumbs">
        <a href="gluon-module.html">Package&nbsp;gluon</a> ::
        Module&nbsp;html
      </span>
    </td>
    <td>
      <table cellpadding="0" cellspacing="0">
        <!-- hide/show private -->
        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
        <tr><td align="right"><span class="options"
            >[<a href="frames.html" target="_top">frames</a
            >]&nbsp;|&nbsp;<a href="gluon.html-pysrc.html"
            target="_top">no&nbsp;frames</a>]</span></td></tr>
      </table>
    </td>
  </tr>
</table>
<h1 class="epydoc">Source Code for <a href="gluon.html-module.html">Module gluon.html</a></h1>
<pre class="py-src">
<a name="L1"></a><tt class="py-lineno">   1</tt>  <tt class="py-line"><tt class="py-comment">#!/usr/bin/python</tt> </tt>
<a name="L2"></a><tt class="py-lineno">   2</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># -*- coding: utf-8 -*-</tt> </tt>
<a name="L3"></a><tt class="py-lineno">   3</tt>  <tt class="py-line"><tt class="py-comment"></tt> </tt>
<a name="L4"></a><tt class="py-lineno">   4</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
<a name="L5"></a><tt class="py-lineno">   5</tt>  <tt class="py-line"><tt class="py-docstring">This file is part of web2py Web Framework (Copyrighted, 2007)</tt> </tt>
<a name="L6"></a><tt class="py-lineno">   6</tt>  <tt class="py-line"><tt class="py-docstring">Developed by Massimo Di Pierro &lt;mdipierro@cs.depaul.edu&gt;</tt> </tt>
<a name="L7"></a><tt class="py-lineno">   7</tt>  <tt class="py-line"><tt class="py-docstring">License: GPL v2</tt> </tt>
<a name="L8"></a><tt class="py-lineno">   8</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
<a name="L9"></a><tt class="py-lineno">   9</tt>  <tt class="py-line"> </tt>
<a name="L10"></a><tt class="py-lineno">  10</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">cgi</tt> </tt>
<a name="L11"></a><tt class="py-lineno">  11</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">re</tt> </tt>
<a name="L12"></a><tt class="py-lineno">  12</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">random</tt> </tt>
<a name="L13"></a><tt class="py-lineno">  13</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">copy</tt> </tt>
<a name="L14"></a><tt class="py-lineno">  14</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">sys</tt> </tt>
<a name="L15"></a><tt class="py-lineno">  15</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">types</tt> </tt>
<a name="L16"></a><tt class="py-lineno">  16</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">urllib</tt> </tt>
<a name="L17"></a><tt class="py-lineno">  17</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">tokenize</tt> </tt>
<a name="L18"></a><tt class="py-lineno">  18</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">keyword</tt> </tt>
<a name="L19"></a><tt class="py-lineno">  19</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">base64</tt> </tt>
<a name="L20"></a><tt class="py-lineno">  20</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">uuid</tt> </tt>
<a name="L21"></a><tt class="py-lineno">  21</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Module gluon.storage=gluon.storage-module.html"><a title="gluon.storage" class="py-name" href="#" onclick="return doclink('link-0', 'storage', 'link-0');">storage</a></tt> <tt class="py-keyword">import</tt> <tt id="link-1" class="py-name" targets="Class gluon.storage.Storage=gluon.storage.Storage-class.html"><a title="gluon.storage.Storage" class="py-name" href="#" onclick="return doclink('link-1', 'Storage', 'link-1');">Storage</a></tt> </tt>
<a name="L22"></a><tt class="py-lineno">  22</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-2" class="py-name" targets="Module gluon.validators=gluon.validators-module.html"><a title="gluon.validators" class="py-name" href="#" onclick="return doclink('link-2', 'validators', 'link-2');">validators</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
<a name="L23"></a><tt class="py-lineno">  23</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-3" class="py-name" targets="Module gluon.highlight=gluon.highlight-module.html,Method gluon.highlight.Highlighter.highlight()=gluon.highlight.Highlighter-class.html#highlight,Function gluon.highlight.highlight()=gluon.highlight-module.html#highlight"><a title="gluon.highlight
gluon.highlight.Highlighter.highlight
gluon.highlight.highlight" class="py-name" href="#" onclick="return doclink('link-3', 'highlight', 'link-3');">highlight</a></tt> <tt class="py-keyword">import</tt> <tt id="link-4" class="py-name"><a title="gluon.highlight
gluon.highlight.Highlighter.highlight
gluon.highlight.highlight" class="py-name" href="#" onclick="return doclink('link-4', 'highlight', 'link-3');">highlight</a></tt> </tt>
<a name="L24"></a><tt class="py-lineno">  24</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-5" class="py-name" targets="Module gluon.sanitizer=gluon.sanitizer-module.html"><a title="gluon.sanitizer" class="py-name" href="#" onclick="return doclink('link-5', 'sanitizer', 'link-5');">sanitizer</a></tt> </tt>
<a name="L25"></a><tt class="py-lineno">  25</tt>  <tt class="py-line"> </tt>
<a name="L26"></a><tt class="py-lineno">  26</tt>  <tt class="py-line"><tt id="link-6" class="py-name" targets="Variable gluon.html.regex_crlf=gluon.html-module.html#regex_crlf"><a title="gluon.html.regex_crlf" class="py-name" href="#" onclick="return doclink('link-6', 'regex_crlf', 'link-6');">regex_crlf</a></tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">compile</tt><tt class="py-op">(</tt><tt class="py-string">'\r|\n'</tt><tt class="py-op">)</tt> </tt>
<a name="L27"></a><tt class="py-lineno">  27</tt>  <tt class="py-line"> </tt>
<a name="L28"></a><tt class="py-lineno">  28</tt>  <tt class="py-line"><tt class="py-name">__all__</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> </tt>
<a name="L29"></a><tt class="py-lineno">  29</tt>  <tt class="py-line">    <tt class="py-string">'A'</tt><tt class="py-op">,</tt> </tt>
<a name="L30"></a><tt class="py-lineno">  30</tt>  <tt class="py-line">    <tt class="py-string">'B'</tt><tt class="py-op">,</tt> </tt>
<a name="L31"></a><tt class="py-lineno">  31</tt>  <tt class="py-line">    <tt class="py-string">'BEAUTIFY'</tt><tt class="py-op">,</tt> </tt>
<a name="L32"></a><tt class="py-lineno">  32</tt>  <tt class="py-line">    <tt class="py-string">'BODY'</tt><tt class="py-op">,</tt> </tt>
<a name="L33"></a><tt class="py-lineno">  33</tt>  <tt class="py-line">    <tt class="py-string">'BR'</tt><tt class="py-op">,</tt> </tt>
<a name="L34"></a><tt class="py-lineno">  34</tt>  <tt class="py-line">    <tt class="py-string">'CENTER'</tt><tt class="py-op">,</tt> </tt>
<a name="L35"></a><tt class="py-lineno">  35</tt>  <tt class="py-line">    <tt class="py-string">'CODE'</tt><tt class="py-op">,</tt> </tt>
<a name="L36"></a><tt class="py-lineno">  36</tt>  <tt class="py-line">    <tt class="py-string">'DIV'</tt><tt class="py-op">,</tt> </tt>
<a name="L37"></a><tt class="py-lineno">  37</tt>  <tt class="py-line">    <tt class="py-string">'EM'</tt><tt class="py-op">,</tt> </tt>
<a name="L38"></a><tt class="py-lineno">  38</tt>  <tt class="py-line">    <tt class="py-string">'EMBED'</tt><tt class="py-op">,</tt> </tt>
<a name="L39"></a><tt class="py-lineno">  39</tt>  <tt class="py-line">    <tt class="py-string">'FIELDSET'</tt><tt class="py-op">,</tt> </tt>
<a name="L40"></a><tt class="py-lineno">  40</tt>  <tt class="py-line">    <tt class="py-string">'FORM'</tt><tt class="py-op">,</tt> </tt>
<a name="L41"></a><tt class="py-lineno">  41</tt>  <tt class="py-line">    <tt class="py-string">'H1'</tt><tt class="py-op">,</tt> </tt>
<a name="L42"></a><tt class="py-lineno">  42</tt>  <tt class="py-line">    <tt class="py-string">'H2'</tt><tt class="py-op">,</tt> </tt>
<a name="L43"></a><tt class="py-lineno">  43</tt>  <tt class="py-line">    <tt class="py-string">'H3'</tt><tt class="py-op">,</tt> </tt>
<a name="L44"></a><tt class="py-lineno">  44</tt>  <tt class="py-line">    <tt class="py-string">'H4'</tt><tt class="py-op">,</tt> </tt>
<a name="L45"></a><tt class="py-lineno">  45</tt>  <tt class="py-line">    <tt class="py-string">'H5'</tt><tt class="py-op">,</tt> </tt>
<a name="L46"></a><tt class="py-lineno">  46</tt>  <tt class="py-line">    <tt class="py-string">'H6'</tt><tt class="py-op">,</tt> </tt>
<a name="L47"></a><tt class="py-lineno">  47</tt>  <tt class="py-line">    <tt class="py-string">'HEAD'</tt><tt class="py-op">,</tt> </tt>
<a name="L48"></a><tt class="py-lineno">  48</tt>  <tt class="py-line">    <tt class="py-string">'HR'</tt><tt class="py-op">,</tt> </tt>
<a name="L49"></a><tt class="py-lineno">  49</tt>  <tt class="py-line">    <tt class="py-string">'HTML'</tt><tt class="py-op">,</tt> </tt>
<a name="L50"></a><tt class="py-lineno">  50</tt>  <tt class="py-line">    <tt class="py-string">'IFRAME'</tt><tt class="py-op">,</tt> </tt>
<a name="L51"></a><tt class="py-lineno">  51</tt>  <tt class="py-line">    <tt class="py-string">'IMG'</tt><tt class="py-op">,</tt> </tt>
<a name="L52"></a><tt class="py-lineno">  52</tt>  <tt class="py-line">    <tt class="py-string">'INPUT'</tt><tt class="py-op">,</tt> </tt>
<a name="L53"></a><tt class="py-lineno">  53</tt>  <tt class="py-line">    <tt class="py-string">'LABEL'</tt><tt class="py-op">,</tt> </tt>
<a name="L54"></a><tt class="py-lineno">  54</tt>  <tt class="py-line">    <tt class="py-string">'LEGEND'</tt><tt class="py-op">,</tt> </tt>
<a name="L55"></a><tt class="py-lineno">  55</tt>  <tt class="py-line">    <tt class="py-string">'LI'</tt><tt class="py-op">,</tt> </tt>
<a name="L56"></a><tt class="py-lineno">  56</tt>  <tt class="py-line">    <tt class="py-string">'LINK'</tt><tt class="py-op">,</tt> </tt>
<a name="L57"></a><tt class="py-lineno">  57</tt>  <tt class="py-line">    <tt class="py-string">'OL'</tt><tt class="py-op">,</tt> </tt>
<a name="L58"></a><tt class="py-lineno">  58</tt>  <tt class="py-line">    <tt class="py-string">'UL'</tt><tt class="py-op">,</tt> </tt>
<a name="L59"></a><tt class="py-lineno">  59</tt>  <tt class="py-line">    <tt class="py-string">'META'</tt><tt class="py-op">,</tt> </tt>
<a name="L60"></a><tt class="py-lineno">  60</tt>  <tt class="py-line">    <tt class="py-string">'OBJECT'</tt><tt class="py-op">,</tt> </tt>
<a name="L61"></a><tt class="py-lineno">  61</tt>  <tt class="py-line">    <tt class="py-string">'ON'</tt><tt class="py-op">,</tt> </tt>
<a name="L62"></a><tt class="py-lineno">  62</tt>  <tt class="py-line">    <tt class="py-string">'OPTION'</tt><tt class="py-op">,</tt> </tt>
<a name="L63"></a><tt class="py-lineno">  63</tt>  <tt class="py-line">    <tt class="py-string">'P'</tt><tt class="py-op">,</tt> </tt>
<a name="L64"></a><tt class="py-lineno">  64</tt>  <tt class="py-line">    <tt class="py-string">'PRE'</tt><tt class="py-op">,</tt> </tt>
<a name="L65"></a><tt class="py-lineno">  65</tt>  <tt class="py-line">    <tt class="py-string">'SCRIPT'</tt><tt class="py-op">,</tt> </tt>
<a name="L66"></a><tt class="py-lineno">  66</tt>  <tt class="py-line">    <tt class="py-string">'SELECT'</tt><tt class="py-op">,</tt> </tt>
<a name="L67"></a><tt class="py-lineno">  67</tt>  <tt class="py-line">    <tt class="py-string">'SPAN'</tt><tt class="py-op">,</tt> </tt>
<a name="L68"></a><tt class="py-lineno">  68</tt>  <tt class="py-line">    <tt class="py-string">'STYLE'</tt><tt class="py-op">,</tt> </tt>
<a name="L69"></a><tt class="py-lineno">  69</tt>  <tt class="py-line">    <tt class="py-string">'TABLE'</tt><tt class="py-op">,</tt> </tt>
<a name="L70"></a><tt class="py-lineno">  70</tt>  <tt class="py-line">    <tt class="py-string">'TAG'</tt><tt class="py-op">,</tt> </tt>
<a name="L71"></a><tt class="py-lineno">  71</tt>  <tt class="py-line">    <tt class="py-string">'TD'</tt><tt class="py-op">,</tt> </tt>
<a name="L72"></a><tt class="py-lineno">  72</tt>  <tt class="py-line">    <tt class="py-string">'TEXTAREA'</tt><tt class="py-op">,</tt> </tt>
<a name="L73"></a><tt class="py-lineno">  73</tt>  <tt class="py-line">    <tt class="py-string">'TH'</tt><tt class="py-op">,</tt> </tt>
<a name="L74"></a><tt class="py-lineno">  74</tt>  <tt class="py-line">    <tt class="py-string">'THEAD'</tt><tt class="py-op">,</tt> </tt>
<a name="L75"></a><tt class="py-lineno">  75</tt>  <tt class="py-line">    <tt class="py-string">'TBODY'</tt><tt class="py-op">,</tt> </tt>
<a name="L76"></a><tt class="py-lineno">  76</tt>  <tt class="py-line">    <tt class="py-string">'TFOOT'</tt><tt class="py-op">,</tt> </tt>
<a name="L77"></a><tt class="py-lineno">  77</tt>  <tt class="py-line">    <tt class="py-string">'TITLE'</tt><tt class="py-op">,</tt> </tt>
<a name="L78"></a><tt class="py-lineno">  78</tt>  <tt class="py-line">    <tt class="py-string">'TR'</tt><tt class="py-op">,</tt> </tt>
<a name="L79"></a><tt class="py-lineno">  79</tt>  <tt class="py-line">    <tt class="py-string">'TT'</tt><tt class="py-op">,</tt> </tt>
<a name="L80"></a><tt class="py-lineno">  80</tt>  <tt class="py-line">    <tt class="py-string">'URL'</tt><tt class="py-op">,</tt> </tt>
<a name="L81"></a><tt class="py-lineno">  81</tt>  <tt class="py-line">    <tt class="py-string">'XML'</tt><tt class="py-op">,</tt> </tt>
<a name="L82"></a><tt class="py-lineno">  82</tt>  <tt class="py-line">    <tt class="py-string">'xmlescape'</tt><tt class="py-op">,</tt> </tt>
<a name="L83"></a><tt class="py-lineno">  83</tt>  <tt class="py-line">    <tt class="py-string">'embed64'</tt><tt class="py-op">,</tt> </tt>
<a name="L84"></a><tt class="py-lineno">  84</tt>  <tt class="py-line">    <tt class="py-op">]</tt> </tt>
<a name="L85"></a><tt class="py-lineno">  85</tt>  <tt class="py-line"> </tt>
<a name="L86"></a><tt class="py-lineno">  86</tt>  <tt class="py-line"> </tt>
<a name="xmlescape"></a><div id="xmlescape-def"><a name="L87"></a><tt class="py-lineno">  87</tt> <a class="py-toggle" href="#" id="xmlescape-toggle" onclick="return toggle('xmlescape');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="gluon.html-module.html#xmlescape">xmlescape</a><tt class="py-op">(</tt><tt class="py-param">data</tt><tt class="py-op">,</tt> <tt class="py-param">quote</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="xmlescape-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="xmlescape-expanded"><a name="L88"></a><tt class="py-lineno">  88</tt>  <tt class="py-line">    <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
<a name="L89"></a><tt class="py-lineno">  89</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">data</tt><tt class="py-op">.</tt><tt id="link-7" class="py-name" targets="Method gluon.html.CODE.xml()=gluon.html.CODE-class.html#xml,Method gluon.html.DIV.xml()=gluon.html.DIV-class.html#xml,Method gluon.html.FORM.xml()=gluon.html.FORM-class.html#xml,Method gluon.html.HTML.xml()=gluon.html.HTML-class.html#xml,Method gluon.html.INPUT.xml()=gluon.html.INPUT-class.html#xml,Method gluon.html.P.xml()=gluon.html.P-class.html#xml,Method gluon.html.SCRIPT.xml()=gluon.html.SCRIPT-class.html#xml,Method gluon.html.XML.xml()=gluon.html.XML-class.html#xml,Method gluon.languages.lazyT.xml()=gluon.languages.lazyT-class.html#xml,Method gluon.sql.SQLRows.xml()=gluon.sql.SQLRows-class.html#xml,Method gluon.tools.Recaptcha.xml()=gluon.tools.Recaptcha-class.html#xml"><a title="gluon.html.CODE.xml
gluon.html.DIV.xml
gluon.html.FORM.xml
gluon.html.HTML.xml
gluon.html.INPUT.xml
gluon.html.P.xml
gluon.html.SCRIPT.xml
gluon.html.XML.xml
gluon.languages.lazyT.xml
gluon.sql.SQLRows.xml
gluon.tools.Recaptcha.xml" class="py-name" href="#" onclick="return doclink('link-7', 'xml', 'link-7');">xml</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L90"></a><tt class="py-lineno">  90</tt>  <tt class="py-line">    <tt class="py-keyword">except</tt> <tt class="py-name">AttributeError</tt><tt class="py-op">:</tt> </tt>
<a name="L91"></a><tt class="py-lineno">  91</tt>  <tt class="py-line">        <tt class="py-keyword">pass</tt> </tt>
<a name="L92"></a><tt class="py-lineno">  92</tt>  <tt class="py-line">    <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">:</tt> </tt>
<a name="L93"></a><tt class="py-lineno">  93</tt>  <tt class="py-line">        <tt class="py-keyword">pass</tt> </tt>
<a name="L94"></a><tt class="py-lineno">  94</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">,</tt> <tt class="py-name">unicode</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L95"></a><tt class="py-lineno">  95</tt>  <tt class="py-line">        <tt class="py-name">data</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">)</tt> </tt>
<a name="L96"></a><tt class="py-lineno">  96</tt>  <tt class="py-line">    <tt class="py-keyword">elif</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">,</tt> <tt class="py-name">unicode</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L97"></a><tt class="py-lineno">  97</tt>  <tt class="py-line">        <tt class="py-name">data</tt> <tt class="py-op">=</tt> <tt class="py-name">data</tt><tt class="py-op">.</tt><tt class="py-name">encode</tt><tt class="py-op">(</tt><tt class="py-string">'utf8'</tt><tt class="py-op">,</tt> <tt class="py-string">'xmlcharrefreplace'</tt><tt class="py-op">)</tt> </tt>
<a name="L98"></a><tt class="py-lineno">  98</tt>  <tt class="py-line">    <tt class="py-name">data</tt> <tt class="py-op">=</tt> <tt class="py-name">cgi</tt><tt class="py-op">.</tt><tt class="py-name">escape</tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">,</tt> <tt class="py-name">quote</tt><tt class="py-op">)</tt> </tt>
<a name="L99"></a><tt class="py-lineno">  99</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">data</tt> </tt>
</div><a name="L100"></a><tt class="py-lineno"> 100</tt>  <tt class="py-line"> </tt>
<a name="L101"></a><tt class="py-lineno"> 101</tt>  <tt class="py-line"> </tt>
<a name="URL"></a><div id="URL-def"><a name="L102"></a><tt class="py-lineno"> 102</tt> <a class="py-toggle" href="#" id="URL-toggle" onclick="return toggle('URL');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="gluon.html-module.html#URL">URL</a><tt class="py-op">(</tt> </tt>
<a name="L103"></a><tt class="py-lineno"> 103</tt>  <tt class="py-line">    <tt class="py-param">a</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
<a name="L104"></a><tt class="py-lineno"> 104</tt>  <tt class="py-line">    <tt class="py-param">c</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
<a name="L105"></a><tt class="py-lineno"> 105</tt>  <tt class="py-line">    <tt class="py-param">f</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
<a name="L106"></a><tt class="py-lineno"> 106</tt>  <tt class="py-line">    <tt class="py-param">r</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
<a name="L107"></a><tt class="py-lineno"> 107</tt>  <tt class="py-line">    <tt class="py-param">args</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
<a name="L108"></a><tt class="py-lineno"> 108</tt>  <tt class="py-line">    <tt class="py-param">vars</tt><tt class="py-op">=</tt><tt class="py-op">{</tt><tt class="py-op">}</tt><tt class="py-op">,</tt> </tt>
<a name="L109"></a><tt class="py-lineno"> 109</tt>  <tt class="py-line">    <tt class="py-param">anchor</tt><tt class="py-op">=</tt><tt class="py-string">''</tt><tt class="py-op">,</tt> </tt>
<a name="L110"></a><tt class="py-lineno"> 110</tt>  <tt class="py-line">    <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="URL-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="URL-expanded"><a name="L111"></a><tt class="py-lineno"> 111</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
<a name="L112"></a><tt class="py-lineno"> 112</tt>  <tt class="py-line"><tt class="py-docstring">    example:</tt> </tt>
<a name="L113"></a><tt class="py-lineno"> 113</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L114"></a><tt class="py-lineno"> 114</tt>  <tt class="py-line"><tt class="py-docstring">    &gt;&gt;&gt; URL(a='a',c='c',f='f',args=['x','y','z'],vars={'p':1, 'q':2},anchor='1')</tt> </tt>
<a name="L115"></a><tt class="py-lineno"> 115</tt>  <tt class="py-line"><tt class="py-docstring">    '/a/c/f/x/y/z#1?q=2&amp;p=1'</tt> </tt>
<a name="L116"></a><tt class="py-lineno"> 116</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L117"></a><tt class="py-lineno"> 117</tt>  <tt class="py-line"><tt class="py-docstring">    generates a url \"/a/c/f\" corresponding to application a, controller c </tt> </tt>
<a name="L118"></a><tt class="py-lineno"> 118</tt>  <tt class="py-line"><tt class="py-docstring">    and function f. If r=request is passed, a,c,f are set, respectively,</tt> </tt>
<a name="L119"></a><tt class="py-lineno"> 119</tt>  <tt class="py-line"><tt class="py-docstring">    to r.applicaiton, r.controller, r.function. </tt> </tt>
<a name="L120"></a><tt class="py-lineno"> 120</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L121"></a><tt class="py-lineno"> 121</tt>  <tt class="py-line"><tt class="py-docstring">    The more typical usage is:</tt> </tt>
<a name="L122"></a><tt class="py-lineno"> 122</tt>  <tt class="py-line"><tt class="py-docstring">    </tt> </tt>
<a name="L123"></a><tt class="py-lineno"> 123</tt>  <tt class="py-line"><tt class="py-docstring">    URL(r=request,f='index') that generates a url for the index function </tt> </tt>
<a name="L124"></a><tt class="py-lineno"> 124</tt>  <tt class="py-line"><tt class="py-docstring">    within the present application and controller.</tt> </tt>
<a name="L125"></a><tt class="py-lineno"> 125</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
<a name="L126"></a><tt class="py-lineno"> 126</tt>  <tt class="py-line"> </tt>
<a name="L127"></a><tt class="py-lineno"> 127</tt>  <tt class="py-line">    <tt class="py-name">application</tt> <tt class="py-op">=</tt> <tt class="py-name">controller</tt> <tt class="py-op">=</tt> <tt class="py-name">function</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
<a name="L128"></a><tt class="py-lineno"> 128</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">r</tt><tt class="py-op">:</tt> </tt>
<a name="L129"></a><tt class="py-lineno"> 129</tt>  <tt class="py-line">        <tt class="py-name">application</tt> <tt class="py-op">=</tt> <tt class="py-name">r</tt><tt class="py-op">.</tt><tt class="py-name">application</tt> </tt>
<a name="L130"></a><tt class="py-lineno"> 130</tt>  <tt class="py-line">        <tt class="py-name">controller</tt> <tt class="py-op">=</tt> <tt class="py-name">r</tt><tt class="py-op">.</tt><tt class="py-name">controller</tt> </tt>
<a name="L131"></a><tt class="py-lineno"> 131</tt>  <tt class="py-line">        <tt class="py-name">function</tt> <tt class="py-op">=</tt> <tt class="py-name">r</tt><tt class="py-op">.</tt><tt class="py-name">function</tt> </tt>
<a name="L132"></a><tt class="py-lineno"> 132</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">a</tt><tt class="py-op">:</tt> </tt>
<a name="L133"></a><tt class="py-lineno"> 133</tt>  <tt class="py-line">        <tt class="py-name">application</tt> <tt class="py-op">=</tt> <tt class="py-name">a</tt> </tt>
<a name="L134"></a><tt class="py-lineno"> 134</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">c</tt><tt class="py-op">:</tt> </tt>
<a name="L135"></a><tt class="py-lineno"> 135</tt>  <tt class="py-line">        <tt class="py-name">controller</tt> <tt class="py-op">=</tt> <tt class="py-name">c</tt> </tt>
<a name="L136"></a><tt class="py-lineno"> 136</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt id="link-8" class="py-name" targets="Variable gluon.wsgiserver.SSLConnection.f=gluon.wsgiserver.SSLConnection-class.html#f"><a title="gluon.wsgiserver.SSLConnection.f" class="py-name" href="#" onclick="return doclink('link-8', 'f', 'link-8');">f</a></tt><tt class="py-op">:</tt> </tt>
<a name="L137"></a><tt class="py-lineno"> 137</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt id="link-9" class="py-name"><a title="gluon.wsgiserver.SSLConnection.f" class="py-name" href="#" onclick="return doclink('link-9', 'f', 'link-8');">f</a></tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L138"></a><tt class="py-lineno"> 138</tt>  <tt class="py-line">            <tt class="py-name">function</tt> <tt class="py-op">=</tt> <tt id="link-10" class="py-name"><a title="gluon.wsgiserver.SSLConnection.f" class="py-name" href="#" onclick="return doclink('link-10', 'f', 'link-8');">f</a></tt> </tt>
<a name="L139"></a><tt class="py-lineno"> 139</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
<a name="L140"></a><tt class="py-lineno"> 140</tt>  <tt class="py-line">            <tt class="py-name">function</tt> <tt class="py-op">=</tt> <tt id="link-11" class="py-name"><a title="gluon.wsgiserver.SSLConnection.f" class="py-name" href="#" onclick="return doclink('link-11', 'f', 'link-8');">f</a></tt><tt class="py-op">.</tt><tt class="py-name">__name__</tt> </tt>
<a name="L141"></a><tt class="py-lineno"> 141</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-op">(</tt><tt class="py-name">application</tt> <tt class="py-keyword">and</tt> <tt class="py-name">controller</tt> <tt class="py-keyword">and</tt> <tt class="py-name">function</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L142"></a><tt class="py-lineno"> 142</tt>  <tt class="py-line">        <tt class="py-keyword">raise</tt> <tt class="py-name">SyntaxError</tt><tt class="py-op">,</tt> <tt class="py-string">'not enough information to build the url'</tt> </tt>
<a name="L143"></a><tt class="py-lineno"> 143</tt>  <tt class="py-line">    <tt class="py-name">other</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
<a name="L144"></a><tt class="py-lineno"> 144</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">args</tt> <tt class="py-op">!=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">args</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-name">list</tt><tt class="py-op">,</tt> <tt class="py-name">tuple</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L145"></a><tt class="py-lineno"> 145</tt>  <tt class="py-line">        <tt class="py-name">args</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">args</tt><tt class="py-op">]</tt> </tt>
<a name="L146"></a><tt class="py-lineno"> 146</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">args</tt><tt class="py-op">:</tt> </tt>
<a name="L147"></a><tt class="py-lineno"> 147</tt>  <tt class="py-line">        <tt class="py-name">other</tt> <tt class="py-op">=</tt> <tt class="py-name">urllib</tt><tt class="py-op">.</tt><tt class="py-name">quote</tt><tt class="py-op">(</tt><tt class="py-string">'/'</tt> <tt class="py-op">+</tt> <tt class="py-string">'/'</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">x</tt><tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-name">x</tt> <tt class="py-keyword">in</tt> <tt class="py-name">args</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L148"></a><tt class="py-lineno"> 148</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">anchor</tt><tt class="py-op">:</tt> </tt>
<a name="L149"></a><tt class="py-lineno"> 149</tt>  <tt class="py-line">        <tt class="py-name">other</tt> <tt class="py-op">+=</tt> <tt class="py-string">'#'</tt> <tt class="py-op">+</tt> <tt class="py-name">urllib</tt><tt class="py-op">.</tt><tt class="py-name">quote</tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">anchor</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L150"></a><tt class="py-lineno"> 150</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">vars</tt><tt class="py-op">:</tt> </tt>
<a name="L151"></a><tt class="py-lineno"> 151</tt>  <tt class="py-line">        <tt class="py-name">other</tt> <tt class="py-op">+=</tt> <tt class="py-string">'?%s'</tt> <tt class="py-op">%</tt> <tt class="py-name">urllib</tt><tt class="py-op">.</tt><tt class="py-name">urlencode</tt><tt class="py-op">(</tt><tt class="py-name">vars</tt><tt class="py-op">)</tt> </tt>
<a name="L152"></a><tt class="py-lineno"> 152</tt>  <tt class="py-line">    <tt class="py-name">url</tt> <tt class="py-op">=</tt> <tt class="py-string">'/%s/%s/%s%s'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">application</tt><tt class="py-op">,</tt> <tt class="py-name">controller</tt><tt class="py-op">,</tt> <tt class="py-name">function</tt><tt class="py-op">,</tt> <tt class="py-name">other</tt><tt class="py-op">)</tt> </tt>
<a name="L153"></a><tt class="py-lineno"> 153</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt id="link-12" class="py-name"><a title="gluon.html.regex_crlf" class="py-name" href="#" onclick="return doclink('link-12', 'regex_crlf', 'link-6');">regex_crlf</a></tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt><tt class="py-name">url</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L154"></a><tt class="py-lineno"> 154</tt>  <tt class="py-line">        <tt class="py-keyword">raise</tt> <tt class="py-name">SyntaxError</tt><tt class="py-op">,</tt> <tt class="py-string">'CRLF Injection Detected'</tt> </tt>
<a name="L155"></a><tt class="py-lineno"> 155</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">url</tt> </tt>
</div><a name="L156"></a><tt class="py-lineno"> 156</tt>  <tt class="py-line"> </tt>
<a name="L157"></a><tt class="py-lineno"> 157</tt>  <tt class="py-line"> </tt>
<a name="L158"></a><tt class="py-lineno"> 158</tt>  <tt class="py-line"><tt id="link-13" class="py-name" targets="Variable gluon.html.ON=gluon.html-module.html#ON,Variable gluon.sqlhtml.ON=gluon.sqlhtml-module.html#ON,Variable gluon.tools.ON=gluon.tools-module.html#ON"><a title="gluon.html.ON
gluon.sqlhtml.ON
gluon.tools.ON" class="py-name" href="#" onclick="return doclink('link-13', 'ON', 'link-13');">ON</a></tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
<a name="L159"></a><tt class="py-lineno"> 159</tt>  <tt class="py-line"> </tt>
<a name="L160"></a><tt class="py-lineno"> 160</tt>  <tt class="py-line"> </tt>
<a name="XML"></a><div id="XML-def"><a name="L161"></a><tt class="py-lineno"> 161</tt> <a class="py-toggle" href="#" id="XML-toggle" onclick="return toggle('XML');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="gluon.html.XML-class.html">XML</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="XML-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="XML-expanded"><a name="L162"></a><tt class="py-lineno"> 162</tt>  <tt class="py-line"> </tt>
<a name="L163"></a><tt class="py-lineno"> 163</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
<a name="L164"></a><tt class="py-lineno"> 164</tt>  <tt class="py-line"><tt class="py-docstring">    example:</tt> </tt>
<a name="L165"></a><tt class="py-lineno"> 165</tt>  <tt class="py-line"><tt class="py-docstring">   </tt> </tt>
<a name="L166"></a><tt class="py-lineno"> 166</tt>  <tt class="py-line"><tt class="py-docstring">    &gt;&gt;&gt; XML('&lt;h1&gt;Hello&lt;/h1&gt;').xml()</tt> </tt>
<a name="L167"></a><tt class="py-lineno"> 167</tt>  <tt class="py-line"><tt class="py-docstring">    '&lt;h1&gt;Hello&lt;/h1&gt;'</tt> </tt>
<a name="L168"></a><tt class="py-lineno"> 168</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L169"></a><tt class="py-lineno"> 169</tt>  <tt class="py-line"><tt class="py-docstring">    use it to wrap a string that contains XML/HTML so that it will not be </tt> </tt>
<a name="L170"></a><tt class="py-lineno"> 170</tt>  <tt class="py-line"><tt class="py-docstring">    escaped by the template</tt> </tt>
<a name="L171"></a><tt class="py-lineno"> 171</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
<a name="L172"></a><tt class="py-lineno"> 172</tt>  <tt class="py-line"> </tt>
<a name="XML.__init__"></a><div id="XML.__init__-def"><a name="L173"></a><tt class="py-lineno"> 173</tt> <a class="py-toggle" href="#" id="XML.__init__-toggle" onclick="return toggle('XML.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="gluon.html.XML-class.html#__init__">__init__</a><tt class="py-op">(</tt> </tt>
<a name="L174"></a><tt class="py-lineno"> 174</tt>  <tt class="py-line">        <tt class="py-param">self</tt><tt class="py-op">,</tt> </tt>
<a name="L175"></a><tt class="py-lineno"> 175</tt>  <tt class="py-line">        <tt class="py-param">text</tt><tt class="py-op">,</tt> </tt>
<a name="L176"></a><tt class="py-lineno"> 176</tt>  <tt class="py-line">        <tt class="py-param">sanitize</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">,</tt> </tt>
<a name="L177"></a><tt class="py-lineno"> 177</tt>  <tt class="py-line">        <tt class="py-param">permitted_tags</tt><tt class="py-op">=</tt><tt class="py-op">[</tt> </tt>
<a name="L178"></a><tt class="py-lineno"> 178</tt>  <tt class="py-line">            <tt class="py-string">'a'</tt><tt class="py-op">,</tt> </tt>
<a name="L179"></a><tt class="py-lineno"> 179</tt>  <tt class="py-line">            <tt class="py-string">'b'</tt><tt class="py-op">,</tt> </tt>
<a name="L180"></a><tt class="py-lineno"> 180</tt>  <tt class="py-line">            <tt class="py-string">'blockquote'</tt><tt class="py-op">,</tt> </tt>
<a name="L181"></a><tt class="py-lineno"> 181</tt>  <tt class="py-line">            <tt class="py-string">'br/'</tt><tt class="py-op">,</tt> </tt>
<a name="L182"></a><tt class="py-lineno"> 182</tt>  <tt class="py-line">            <tt class="py-string">'i'</tt><tt class="py-op">,</tt> </tt>
<a name="L183"></a><tt class="py-lineno"> 183</tt>  <tt class="py-line">            <tt class="py-string">'li'</tt><tt class="py-op">,</tt> </tt>
<a name="L184"></a><tt class="py-lineno"> 184</tt>  <tt class="py-line">            <tt class="py-string">'ol'</tt><tt class="py-op">,</tt> </tt>
<a name="L185"></a><tt class="py-lineno"> 185</tt>  <tt class="py-line">            <tt class="py-string">'ul'</tt><tt class="py-op">,</tt> </tt>
<a name="L186"></a><tt class="py-lineno"> 186</tt>  <tt class="py-line">            <tt class="py-string">'p'</tt><tt class="py-op">,</tt> </tt>
<a name="L187"></a><tt class="py-lineno"> 187</tt>  <tt class="py-line">            <tt class="py-string">'cite'</tt><tt class="py-op">,</tt> </tt>
<a name="L188"></a><tt class="py-lineno"> 188</tt>  <tt class="py-line">            <tt class="py-string">'code'</tt><tt class="py-op">,</tt> </tt>
<a name="L189"></a><tt class="py-lineno"> 189</tt>  <tt class="py-line">            <tt class="py-string">'pre'</tt><tt class="py-op">,</tt> </tt>
<a name="L190"></a><tt class="py-lineno"> 190</tt>  <tt class="py-line">            <tt class="py-string">'img/'</tt><tt class="py-op">,</tt> </tt>
<a name="L191"></a><tt class="py-lineno"> 191</tt>  <tt class="py-line">            <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
<a name="L192"></a><tt class="py-lineno"> 192</tt>  <tt class="py-line">        <tt class="py-param">allowed_attributes</tt><tt class="py-op">=</tt><tt class="py-op">{</tt><tt class="py-string">'a'</tt><tt class="py-op">:</tt> <tt class="py-op">[</tt><tt class="py-string">'href'</tt><tt class="py-op">,</tt> <tt class="py-string">'title'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-string">'img'</tt><tt class="py-op">:</tt> <tt class="py-op">[</tt><tt class="py-string">'src'</tt><tt class="py-op">,</tt> <tt class="py-string">'alt'</tt> </tt>
<a name="L193"></a><tt class="py-lineno"> 193</tt>  <tt class="py-line">                            <tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-string">'blockquote'</tt><tt class="py-op">:</tt> <tt class="py-op">[</tt><tt class="py-string">'type'</tt><tt class="py-op">]</tt><tt class="py-op">}</tt><tt class="py-op">,</tt> </tt>
<a name="L194"></a><tt class="py-lineno"> 194</tt>  <tt class="py-line">        <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="XML.__init__-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="XML.__init__-expanded"><a name="L195"></a><tt class="py-lineno"> 195</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-14" class="py-name" targets="Function gluon.sanitizer.sanitize()=gluon.sanitizer-module.html#sanitize"><a title="gluon.sanitizer.sanitize" class="py-name" href="#" onclick="return doclink('link-14', 'sanitize', 'link-14');">sanitize</a></tt><tt class="py-op">:</tt> </tt>
<a name="L196"></a><tt class="py-lineno"> 196</tt>  <tt class="py-line">            <tt class="py-name">text</tt> <tt class="py-op">=</tt> <tt id="link-15" class="py-name"><a title="gluon.sanitizer" class="py-name" href="#" onclick="return doclink('link-15', 'sanitizer', 'link-5');">sanitizer</a></tt><tt class="py-op">.</tt><tt id="link-16" class="py-name"><a title="gluon.sanitizer.sanitize" class="py-name" href="#" onclick="return doclink('link-16', 'sanitize', 'link-14');">sanitize</a></tt><tt class="py-op">(</tt><tt class="py-name">text</tt><tt class="py-op">,</tt> <tt class="py-name">permitted_tags</tt><tt class="py-op">,</tt> </tt>
<a name="L197"></a><tt class="py-lineno"> 197</tt>  <tt class="py-line">                    <tt class="py-name">allowed_attributes</tt><tt class="py-op">)</tt> </tt>
<a name="L198"></a><tt class="py-lineno"> 198</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">text</tt><tt class="py-op">,</tt> <tt class="py-name">unicode</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L199"></a><tt class="py-lineno"> 199</tt>  <tt class="py-line">            <tt class="py-name">text</tt> <tt class="py-op">=</tt> <tt class="py-name">text</tt><tt class="py-op">.</tt><tt class="py-name">encode</tt><tt class="py-op">(</tt><tt class="py-string">'utf8'</tt><tt class="py-op">,</tt> <tt class="py-string">'xmlcharrefreplace'</tt><tt class="py-op">)</tt> </tt>
<a name="L200"></a><tt class="py-lineno"> 200</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-keyword">not</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">text</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L201"></a><tt class="py-lineno"> 201</tt>  <tt class="py-line">            <tt class="py-name">text</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">text</tt><tt class="py-op">)</tt> </tt>
<a name="L202"></a><tt class="py-lineno"> 202</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">text</tt> <tt class="py-op">=</tt> <tt class="py-name">text</tt> </tt>
</div><a name="L203"></a><tt class="py-lineno"> 203</tt>  <tt class="py-line"> </tt>
<a name="XML.xml"></a><div id="XML.xml-def"><a name="L204"></a><tt class="py-lineno"> 204</tt> <a class="py-toggle" href="#" id="XML.xml-toggle" onclick="return toggle('XML.xml');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="gluon.html.XML-class.html#xml">xml</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="XML.xml-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="XML.xml-expanded"><a name="L205"></a><tt class="py-lineno"> 205</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">text</tt> </tt>
</div><a name="L206"></a><tt class="py-lineno"> 206</tt>  <tt class="py-line"> </tt>
<a name="XML.__str__"></a><div id="XML.__str__-def"><a name="L207"></a><tt class="py-lineno"> 207</tt> <a class="py-toggle" href="#" id="XML.__str__-toggle" onclick="return toggle('XML.__str__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="gluon.html.XML-class.html#__str__">__str__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="XML.__str__-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="XML.__str__-expanded"><a name="L208"></a><tt class="py-lineno"> 208</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-17" class="py-name"><a title="gluon.html.CODE.xml
gluon.html.DIV.xml
gluon.html.FORM.xml
gluon.html.HTML.xml
gluon.html.INPUT.xml
gluon.html.P.xml
gluon.html.SCRIPT.xml
gluon.html.XML.xml
gluon.languages.lazyT.xml
gluon.sql.SQLRows.xml
gluon.tools.Recaptcha.xml" class="py-name" href="#" onclick="return doclink('link-17', 'xml', 'link-7');">xml</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
</div></div><a name="L209"></a><tt class="py-lineno"> 209</tt>  <tt class="py-line"> </tt>
<a name="L210"></a><tt class="py-lineno"> 210</tt>  <tt class="py-line"> </tt>
<a name="DIV"></a><div id="DIV-def"><a name="L211"></a><tt class="py-lineno"> 211</tt> <a class="py-toggle" href="#" id="DIV-toggle" onclick="return toggle('DIV');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="gluon.html.DIV-class.html">DIV</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="DIV-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="DIV-expanded"><a name="L212"></a><tt class="py-lineno"> 212</tt>  <tt class="py-line"> </tt>
<a name="L213"></a><tt class="py-lineno"> 213</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
<a name="L214"></a><tt class="py-lineno"> 214</tt>  <tt class="py-line"><tt class="py-docstring">    example:</tt> </tt>
<a name="L215"></a><tt class="py-lineno"> 215</tt>  <tt class="py-line"><tt class="py-docstring">    </tt> </tt>
<a name="L216"></a><tt class="py-lineno"> 216</tt>  <tt class="py-line"><tt class="py-docstring">    &gt;&gt;&gt; DIV('hello','world',_style='color:red;').xml() </tt> </tt>
<a name="L217"></a><tt class="py-lineno"> 217</tt>  <tt class="py-line"><tt class="py-docstring">    '&lt;div style=\"color:red;\"&gt;helloworld&lt;/div&gt;'</tt> </tt>
<a name="L218"></a><tt class="py-lineno"> 218</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L219"></a><tt class="py-lineno"> 219</tt>  <tt class="py-line"><tt class="py-docstring">    all other HTML helpers are derived from DIV.</tt> </tt>
<a name="L220"></a><tt class="py-lineno"> 220</tt>  <tt class="py-line"><tt class="py-docstring">    _something=\"value\" attributes are transparently translated into</tt> </tt>
<a name="L221"></a><tt class="py-lineno"> 221</tt>  <tt class="py-line"><tt class="py-docstring">    something=\"value\" HTML attributes</tt> </tt>
<a name="L222"></a><tt class="py-lineno"> 222</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
<a name="L223"></a><tt class="py-lineno"> 223</tt>  <tt class="py-line"> </tt>
<a name="L224"></a><tt class="py-lineno"> 224</tt>  <tt class="py-line">    <tt id="link-18" class="py-name" targets="Variable gluon.html.A.tag=gluon.html.A-class.html#tag,Variable gluon.html.B.tag=gluon.html.B-class.html#tag,Variable gluon.html.BEAUTIFY.tag=gluon.html.BEAUTIFY-class.html#tag,Variable gluon.html.BODY.tag=gluon.html.BODY-class.html#tag,Variable gluon.html.BR.tag=gluon.html.BR-class.html#tag,Variable gluon.html.CENTER.tag=gluon.html.CENTER-class.html#tag,Variable gluon.html.DIV.tag=gluon.html.DIV-class.html#tag,Variable gluon.html.EM.tag=gluon.html.EM-class.html#tag,Variable gluon.html.EMBED.tag=gluon.html.EMBED-class.html#tag,Variable gluon.html.FIELDSET.tag=gluon.html.FIELDSET-class.html#tag,Variable gluon.html.FORM.tag=gluon.html.FORM-class.html#tag,Variable gluon.html.H1.tag=gluon.html.H1-class.html#tag,Variable gluon.html.H2.tag=gluon.html.H2-class.html#tag,Variable gluon.html.H3.tag=gluon.html.H3-class.html#tag,Variable gluon.html.H4.tag=gluon.html.H4-class.html#tag,Variable gluon.html.H5.tag=gluon.html.H5-class.html#tag,Variable gluon.html.H6.tag=gluon.html.H6-class.html#tag,Variable gluon.html.HEAD.tag=gluon.html.HEAD-class.html#tag,Variable gluon.html.HR.tag=gluon.html.HR-class.html#tag,Variable gluon.html.HTML.tag=gluon.html.HTML-class.html#tag,Variable gluon.html.IFRAME.tag=gluon.html.IFRAME-class.html#tag,Variable gluon.html.IMG.tag=gluon.html.IMG-class.html#tag,Variable gluon.html.INPUT.tag=gluon.html.INPUT-class.html#tag,Variable gluon.html.LABEL.tag=gluon.html.LABEL-class.html#tag,Variable gluon.html.LEGEND.tag=gluon.html.LEGEND-class.html#tag,Variable gluon.html.LI.tag=gluon.html.LI-class.html#tag,Variable gluon.html.LINK.tag=gluon.html.LINK-class.html#tag,Variable gluon.html.META.tag=gluon.html.META-class.html#tag,Variable gluon.html.OBJECT.tag=gluon.html.OBJECT-class.html#tag,Variable gluon.html.OL.tag=gluon.html.OL-class.html#tag,Variable gluon.html.OPTION.tag=gluon.html.OPTION-class.html#tag,Variable gluon.html.P.tag=gluon.html.P-class.html#tag,Variable gluon.html.PRE.tag=gluon.html.PRE-class.html#tag,Variable gluon.html.SCRIPT.tag=gluon.html.SCRIPT-class.html#tag,Variable gluon.html.SELECT.tag=gluon.html.SELECT-class.html#tag,Variable gluon.html.SPAN.tag=gluon.html.SPAN-class.html#tag,Variable gluon.html.STYLE.tag=gluon.html.STYLE-class.html#tag,Variable gluon.html.TABLE.tag=gluon.html.TABLE-class.html#tag,Variable gluon.html.TBODY.tag=gluon.html.TBODY-class.html#tag,Variable gluon.html.TD.tag=gluon.html.TD-class.html#tag,Variable gluon.html.TEXTAREA.tag=gluon.html.TEXTAREA-class.html#tag,Variable gluon.html.TFOOT.tag=gluon.html.TFOOT-class.html#tag,Variable gluon.html.TH.tag=gluon.html.TH-class.html#tag,Variable gluon.html.THEAD.tag=gluon.html.THEAD-class.html#tag,Variable gluon.html.TITLE.tag=gluon.html.TITLE-class.html#tag,Variable gluon.html.TR.tag=gluon.html.TR-class.html#tag,Variable gluon.html.TT.tag=gluon.html.TT-class.html#tag,Variable gluon.html.UL.tag=gluon.html.UL-class.html#tag"><a title="gluon.html.A.tag
gluon.html.B.tag
gluon.html.BEAUTIFY.tag
gluon.html.BODY.tag
gluon.html.BR.tag
gluon.html.CENTER.tag
gluon.html.DIV.tag
gluon.html.EM.tag
gluon.html.EMBED.tag
gluon.html.FIELDSET.tag
gluon.html.FORM.tag
gluon.html.H1.tag
gluon.html.H2.tag
gluon.html.H3.tag
gluon.html.H4.tag
gluon.html.H5.tag
gluon.html.H6.tag
gluon.html.HEAD.tag
gluon.html.HR.tag
gluon.html.HTML.tag
gluon.html.IFRAME.tag
gluon.html.IMG.tag
gluon.html.INPUT.tag
gluon.html.LABEL.tag
gluon.html.LEGEND.tag
gluon.html.LI.tag
gluon.html.LINK.tag
gluon.html.META.tag
gluon.html.OBJECT.tag
gluon.html.OL.tag
gluon.html.OPTION.tag
gluon.html.P.tag
gluon.html.PRE.tag
gluon.html.SCRIPT.tag
gluon.html.SELECT.tag
gluon.html.SPAN.tag
gluon.html.STYLE.tag
gluon.html.TABLE.tag
gluon.html.TBODY.tag
gluon.html.TD.tag
gluon.html.TEXTAREA.tag
gluon.html.TFOOT.tag
gluon.html.TH.tag
gluon.html.THEAD.tag
gluon.html.TITLE.tag
gluon.html.TR.tag
gluon.html.TT.tag
gluon.html.UL.tag" class="py-name" href="#" onclick="return doclink('link-18', 'tag', 'link-18');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'div'</tt> </tt>
<a name="L225"></a><tt class="py-lineno"> 225</tt>  <tt class="py-line"> </tt>
<a name="DIV.__init__"></a><div id="DIV.__init__-def"><a name="L226"></a><tt class="py-lineno"> 226</tt> <a class="py-toggle" href="#" id="DIV.__init__-toggle" onclick="return toggle('DIV.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="gluon.html.DIV-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">components</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">attributes</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="DIV.__init__-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="DIV.__init__-expanded"><a name="L227"></a><tt class="py-lineno"> 227</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-19" class="py-name"><a title="gluon.html.A.tag
gluon.html.B.tag
gluon.html.BEAUTIFY.tag
gluon.html.BODY.tag
gluon.html.BR.tag
gluon.html.CENTER.tag
gluon.html.DIV.tag
gluon.html.EM.tag
gluon.html.EMBED.tag
gluon.html.FIELDSET.tag
gluon.html.FORM.tag
gluon.html.H1.tag
gluon.html.H2.tag
gluon.html.H3.tag
gluon.html.H4.tag
gluon.html.H5.tag
gluon.html.H6.tag
gluon.html.HEAD.tag
gluon.html.HR.tag
gluon.html.HTML.tag
gluon.html.IFRAME.tag
gluon.html.IMG.tag
gluon.html.INPUT.tag
gluon.html.LABEL.tag
gluon.html.LEGEND.tag
gluon.html.LI.tag
gluon.html.LINK.tag
gluon.html.META.tag
gluon.html.OBJECT.tag
gluon.html.OL.tag
gluon.html.OPTION.tag
gluon.html.P.tag
gluon.html.PRE.tag
gluon.html.SCRIPT.tag
gluon.html.SELECT.tag
gluon.html.SPAN.tag
gluon.html.STYLE.tag
gluon.html.TABLE.tag
gluon.html.TBODY.tag
gluon.html.TD.tag
gluon.html.TEXTAREA.tag
gluon.html.TFOOT.tag
gluon.html.TH.tag
gluon.html.THEAD.tag
gluon.html.TITLE.tag
gluon.html.TR.tag
gluon.html.TT.tag
gluon.html.UL.tag" class="py-name" href="#" onclick="return doclink('link-19', 'tag', 'link-18');">tag</a></tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">'/'</tt> <tt class="py-keyword">and</tt> <tt class="py-name">components</tt><tt class="py-op">:</tt> </tt>
<a name="L228"></a><tt class="py-lineno"> 228</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> <tt class="py-name">SyntaxError</tt><tt class="py-op">,</tt> <tt class="py-string">'&lt;%s&gt; tags cannot have components'</tt>\ </tt>
<a name="L229"></a><tt class="py-lineno"> 229</tt>  <tt class="py-line">                 <tt class="py-op">%</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-20" class="py-name"><a title="gluon.html.A.tag
gluon.html.B.tag
gluon.html.BEAUTIFY.tag
gluon.html.BODY.tag
gluon.html.BR.tag
gluon.html.CENTER.tag
gluon.html.DIV.tag
gluon.html.EM.tag
gluon.html.EMBED.tag
gluon.html.FIELDSET.tag
gluon.html.FORM.tag
gluon.html.H1.tag
gluon.html.H2.tag
gluon.html.H3.tag
gluon.html.H4.tag
gluon.html.H5.tag
gluon.html.H6.tag
gluon.html.HEAD.tag
gluon.html.HR.tag
gluon.html.HTML.tag
gluon.html.IFRAME.tag
gluon.html.IMG.tag
gluon.html.INPUT.tag
gluon.html.LABEL.tag
gluon.html.LEGEND.tag
gluon.html.LI.tag
gluon.html.LINK.tag
gluon.html.META.tag
gluon.html.OBJECT.tag
gluon.html.OL.tag
gluon.html.OPTION.tag
gluon.html.P.tag
gluon.html.PRE.tag
gluon.html.SCRIPT.tag
gluon.html.SELECT.tag
gluon.html.SPAN.tag
gluon.html.STYLE.tag
gluon.html.TABLE.tag
gluon.html.TBODY.tag
gluon.html.TD.tag
gluon.html.TEXTAREA.tag
gluon.html.TFOOT.tag
gluon.html.TH.tag
gluon.html.THEAD.tag
gluon.html.TITLE.tag
gluon.html.TR.tag
gluon.html.TT.tag
gluon.html.UL.tag" class="py-name" href="#" onclick="return doclink('link-20', 'tag', 'link-18');">tag</a></tt> </tt>
<a name="L230"></a><tt class="py-lineno"> 230</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">components</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt> <tt class="py-keyword">and</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">components</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-name">list</tt><tt class="py-op">,</tt> </tt>
<a name="L231"></a><tt class="py-lineno"> 231</tt>  <tt class="py-line">                <tt class="py-name">tuple</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L232"></a><tt class="py-lineno"> 232</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">components</tt> <tt class="py-op">=</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">components</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
<a name="L233"></a><tt class="py-lineno"> 233</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
<a name="L234"></a><tt class="py-lineno"> 234</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">components</tt> <tt class="py-op">=</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">components</tt><tt class="py-op">)</tt> </tt>
<a name="L235"></a><tt class="py-lineno"> 235</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">attributes</tt> <tt class="py-op">=</tt> <tt class="py-name">attributes</tt> </tt>
<a name="L236"></a><tt class="py-lineno"> 236</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-21" class="py-name" targets="Method gluon.html.DIV._fixup()=gluon.html.DIV-class.html#_fixup,Method gluon.html.OPTION._fixup()=gluon.html.OPTION-class.html#_fixup,Method gluon.html.SELECT._fixup()=gluon.html.SELECT-class.html#_fixup,Method gluon.html.TABLE._fixup()=gluon.html.TABLE-class.html#_fixup,Method gluon.html.TR._fixup()=gluon.html.TR-class.html#_fixup,Method gluon.html.UL._fixup()=gluon.html.UL-class.html#_fixup"><a title="gluon.html.DIV._fixup
gluon.html.OPTION._fixup
gluon.html.SELECT._fixup
gluon.html.TABLE._fixup
gluon.html.TR._fixup
gluon.html.UL._fixup" class="py-name" href="#" onclick="return doclink('link-21', '_fixup', 'link-21');">_fixup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L237"></a><tt class="py-lineno"> 237</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name" targets="Method gluon.html.DIV._postprocessing()=gluon.html.DIV-class.html#_postprocessing,Method gluon.html.FORM._postprocessing()=gluon.html.FORM-class.html#_postprocessing,Method gluon.html.INPUT._postprocessing()=gluon.html.INPUT-class.html#_postprocessing,Method gluon.html.SELECT._postprocessing()=gluon.html.SELECT-class.html#_postprocessing,Method gluon.html.TEXTAREA._postprocessing()=gluon.html.TEXTAREA-class.html#_postprocessing"><a title="gluon.html.DIV._postprocessing
gluon.html.FORM._postprocessing
gluon.html.INPUT._postprocessing
gluon.html.SELECT._postprocessing
gluon.html.TEXTAREA._postprocessing" class="py-name" href="#" onclick="return doclink('link-22', '_postprocessing', 'link-22');">_postprocessing</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt>  <tt class="py-comment"># ## converts special attributes in components attributes</tt> </tt>
</div><a name="L238"></a><tt class="py-lineno"> 238</tt>  <tt class="py-line"> </tt>
<a name="DIV.update"></a><div id="DIV.update-def"><a name="L239"></a><tt class="py-lineno"> 239</tt> <a class="py-toggle" href="#" id="DIV.update-toggle" onclick="return toggle('DIV.update');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="gluon.html.DIV-class.html#update">update</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">kargs</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="DIV.update-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="DIV.update-expanded"><a name="L240"></a><tt class="py-lineno"> 240</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">value</tt><tt class="py-op">)</tt> <tt class="py-keyword">in</tt> <tt class="py-name">kargs</tt><tt class="py-op">.</tt><tt class="py-name">items</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L241"></a><tt class="py-lineno"> 241</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">value</tt> </tt>
<a name="L242"></a><tt class="py-lineno"> 242</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt> </tt>
</div><a name="L243"></a><tt class="py-lineno"> 243</tt>  <tt class="py-line"> </tt>
<a name="DIV.append"></a><div id="DIV.append-def"><a name="L244"></a><tt class="py-lineno"> 244</tt> <a class="py-toggle" href="#" id="DIV.append-toggle" onclick="return toggle('DIV.append');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="gluon.html.DIV-class.html#append">append</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">value</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="DIV.append-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="DIV.append-expanded"><a name="L245"></a><tt class="py-lineno"> 245</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">components</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name" targets="Method gluon.html.DIV.append()=gluon.html.DIV-class.html#append"><a title="gluon.html.DIV.append" class="py-name" href="#" onclick="return doclink('link-23', 'append', 'link-23');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt> </tt>
</div><a name="L246"></a><tt class="py-lineno"> 246</tt>  <tt class="py-line"> </tt>
<a name="DIV.insert"></a><div id="DIV.insert-def"><a name="L247"></a><tt class="py-lineno"> 247</tt> <a class="py-toggle" href="#" id="DIV.insert-toggle" onclick="return toggle('DIV.insert');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="gluon.html.DIV-class.html#insert">insert</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">i</tt><tt class="py-op">,</tt> <tt class="py-param">value</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="DIV.insert-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="DIV.insert-expanded"><a name="L248"></a><tt class="py-lineno"> 248</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">components</tt><tt class="py-op">.</tt><tt id="link-24" class="py-name" targets="Method gluon.html.DIV.insert()=gluon.html.DIV-class.html#insert,Method gluon.sql.SQLTable.insert()=gluon.sql.SQLTable-class.html#insert"><a title="gluon.html.DIV.insert
gluon.sql.SQLTable.insert" class="py-name" href="#" onclick="return doclink('link-24', 'insert', 'link-24');">insert</a></tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">,</tt> <tt class="py-name">value</tt><tt class="py-op">)</tt> </tt>
</div><a name="L249"></a><tt class="py-lineno"> 249</tt>  <tt class="py-line"> </tt>
<a name="DIV.__getitem__"></a><div id="DIV.__getitem__-def"><a name="L250"></a><tt class="py-lineno"> 250</tt> <a class="py-toggle" href="#" id="DIV.__getitem__-toggle" onclick="return toggle('DIV.__getitem__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="gluon.html.DIV-class.html#__getitem__">__getitem__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">i</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="DIV.__getitem__-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="DIV.__getitem__-expanded"><a name="L251"></a><tt class="py-lineno"> 251</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L252"></a><tt class="py-lineno"> 252</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
<a name="L253"></a><tt class="py-lineno"> 253</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">attributes</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> </tt>
<a name="L254"></a><tt class="py-lineno"> 254</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-name">KeyError</tt><tt class="py-op">:</tt> </tt>
<a name="L255"></a><tt class="py-lineno"> 255</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
<a name="L256"></a><tt class="py-lineno"> 256</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
<a name="L257"></a><tt class="py-lineno"> 257</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">components</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> </tt>
</div><a name="L258"></a><tt class="py-lineno"> 258</tt>  <tt class="py-line"> </tt>
<a name="DIV.__setitem__"></a><div id="DIV.__setitem__-def"><a name="L259"></a><tt class="py-lineno"> 259</tt> <a class="py-toggle" href="#" id="DIV.__setitem__-toggle" onclick="return toggle('DIV.__setitem__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="gluon.html.DIV-class.html#__setitem__">__setitem__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">i</tt><tt class="py-op">,</tt> <tt class="py-param">value</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="DIV.__setitem__-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="DIV.__setitem__-expanded"><a name="L260"></a><tt class="py-lineno"> 260</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L261"></a><tt class="py-lineno"> 261</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">attributes</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">value</tt> </tt>
<a name="L262"></a><tt class="py-lineno"> 262</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
<a name="L263"></a><tt class="py-lineno"> 263</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">components</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">value</tt> </tt>
</div><a name="L264"></a><tt class="py-lineno"> 264</tt>  <tt class="py-line"> </tt>
<a name="DIV.__delitem__"></a><div id="DIV.__delitem__-def"><a name="L265"></a><tt class="py-lineno"> 265</tt> <a class="py-toggle" href="#" id="DIV.__delitem__-toggle" onclick="return toggle('DIV.__delitem__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="gluon.html.DIV-class.html#__delitem__">__delitem__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">i</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="DIV.__delitem__-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="DIV.__delitem__-expanded"><a name="L266"></a><tt class="py-lineno"> 266</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L267"></a><tt class="py-lineno"> 267</tt>  <tt class="py-line">            <tt class="py-keyword">del</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">attributes</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> </tt>
<a name="L268"></a><tt class="py-lineno"> 268</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
<a name="L269"></a><tt class="py-lineno"> 269</tt>  <tt class="py-line">            <tt class="py-keyword">del</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">components</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> </tt>
</div><a name="L270"></a><tt class="py-lineno"> 270</tt>  <tt class="py-line"> </tt>
<a name="DIV.__len__"></a><div id="DIV.__len__-def"><a name="L271"></a><tt class="py-lineno"> 271</tt> <a class="py-toggle" href="#" id="DIV.__len__-toggle" onclick="return toggle('DIV.__len__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="gluon.html.DIV-class.html#__len__">__len__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="DIV.__len__-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="DIV.__len__-expanded"><a name="L272"></a><tt class="py-lineno"> 272</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">components</tt><tt class="py-op">)</tt> </tt>
</div><a name="L273"></a><tt class="py-lineno"> 273</tt>  <tt class="py-line"> </tt>
<a name="DIV._fixup"></a><div id="DIV._fixup-def"><a name="L274"></a><tt class="py-lineno"> 274</tt> <a class="py-toggle" href="#" id="DIV._fixup-toggle" onclick="return toggle('DIV._fixup');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="gluon.html.DIV-class.html#_fixup">_fixup</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="DIV._fixup-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="DIV._fixup-expanded"><a name="L275"></a><tt class="py-lineno"> 275</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> </tt>
</div><a name="L276"></a><tt class="py-lineno"> 276</tt>  <tt class="py-line"> </tt>
<a name="DIV._postprocessing"></a><div id="DIV._postprocessing-def"><a name="L277"></a><tt class="py-lineno"> 277</tt> <a class="py-toggle" href="#" id="DIV._postprocessing-toggle" onclick="return toggle('DIV._postprocessing');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="gluon.html.DIV-class.html#_postprocessing">_postprocessing</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="DIV._postprocessing-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="DIV._postprocessing-expanded"><a name="L278"></a><tt class="py-lineno"> 278</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> </tt>
</div><a name="L279"></a><tt class="py-lineno"> 279</tt>  <tt class="py-line"> </tt>
<a name="DIV._traverse"></a><div id="DIV._traverse-def"><a name="L280"></a><tt class="py-lineno"> 280</tt> <a class="py-toggle" href="#" id="DIV._traverse-toggle" onclick="return toggle('DIV._traverse');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="gluon.html.DIV-class.html#_traverse">_traverse</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">status</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="DIV._traverse-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="DIV._traverse-expanded"><a name="L281"></a><tt class="py-lineno"> 281</tt>  <tt class="py-line">        <tt class="py-name">newstatus</tt> <tt class="py-op">=</tt> <tt class="py-name">status</tt> </tt>
<a name="L282"></a><tt class="py-lineno"> 282</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">components</tt><tt class="py-op">:</tt> </tt>
<a name="L283"></a><tt class="py-lineno"> 283</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">hasattr</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">,</tt> <tt class="py-string">'_traverse'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L284"></a><tt class="py-lineno"> 284</tt>  <tt class="py-line">                <tt class="py-name">c</tt><tt class="py-op">.</tt><tt class="py-name">vars</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">vars</tt> </tt>
<a name="L285"></a><tt class="py-lineno"> 285</tt>  <tt class="py-line">                <tt class="py-name">c</tt><tt class="py-op">.</tt><tt class="py-name">request_vars</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">request_vars</tt> </tt>
<a name="L286"></a><tt class="py-lineno"> 286</tt>  <tt class="py-line">                <tt class="py-name">c</tt><tt class="py-op">.</tt><tt class="py-name">errors</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">errors</tt> </tt>
<a name="L287"></a><tt class="py-lineno"> 287</tt>  <tt class="py-line">                <tt class="py-name">c</tt><tt class="py-op">.</tt><tt class="py-name">latest</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">latest</tt> </tt>
<a name="L288"></a><tt class="py-lineno"> 288</tt>  <tt class="py-line">                <tt class="py-name">c</tt><tt class="py-op">.</tt><tt class="py-name">session</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">session</tt> </tt>
<a name="L289"></a><tt class="py-lineno"> 289</tt>  <tt class="py-line">                <tt class="py-name">c</tt><tt class="py-op">.</tt><tt class="py-name">formname</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">formname</tt> </tt>
<a name="L290"></a><tt class="py-lineno"> 290</tt>  <tt class="py-line">                <tt class="py-name">newstatus</tt> <tt class="py-op">=</tt> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-25" class="py-name" targets="Method gluon.html.DIV._traverse()=gluon.html.DIV-class.html#_traverse"><a title="gluon.html.DIV._traverse" class="py-name" href="#" onclick="return doclink('link-25', '_traverse', 'link-25');">_traverse</a></tt><tt class="py-op">(</tt><tt class="py-name">status</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-name">newstatus</tt> </tt>
<a name="L291"></a><tt class="py-lineno"> 291</tt>  <tt class="py-line"> </tt>
<a name="L292"></a><tt class="py-lineno"> 292</tt>  <tt class="py-line">        <tt class="py-comment"># for input, textarea, select, option, deal with 'value' and 'validation'</tt> </tt>
<a name="L293"></a><tt class="py-lineno"> 293</tt>  <tt class="py-line"><tt class="py-comment"></tt> </tt>
<a name="L294"></a><tt class="py-lineno"> 294</tt>  <tt class="py-line">        <tt class="py-name">name</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'_name'</tt><tt class="py-op">]</tt> </tt>
<a name="L295"></a><tt class="py-lineno"> 295</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">newstatus</tt><tt class="py-op">:</tt> </tt>
<a name="L296"></a><tt class="py-lineno"> 296</tt>  <tt class="py-line">            <tt class="py-name">newstatus</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-26" class="py-name" targets="Method gluon.html.DIV._validate()=gluon.html.DIV-class.html#_validate,Method gluon.html.INPUT._validate()=gluon.html.INPUT-class.html#_validate,Method gluon.tools.Recaptcha._validate()=gluon.tools.Recaptcha-class.html#_validate"><a title="gluon.html.DIV._validate
gluon.html.INPUT._validate
gluon.tools.Recaptcha._validate" class="py-name" href="#" onclick="return doclink('link-26', '_validate', 'link-26');">_validate</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L297"></a><tt class="py-lineno"> 297</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-27" class="py-name"><a title="gluon.html.DIV._postprocessing
gluon.html.FORM._postprocessing
gluon.html.INPUT._postprocessing
gluon.html.SELECT._postprocessing
gluon.html.TEXTAREA._postprocessing" class="py-name" href="#" onclick="return doclink('link-27', '_postprocessing', 'link-22');">_postprocessing</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L298"></a><tt class="py-lineno"> 298</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">attributes</tt><tt class="py-op">.</tt><tt class="py-name">has_key</tt><tt class="py-op">(</tt><tt class="py-string">'old_value'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L299"></a><tt class="py-lineno"> 299</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'value'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'old_value'</tt><tt class="py-op">]</tt> </tt>
<a name="L300"></a><tt class="py-lineno"> 300</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-28" class="py-name"><a title="gluon.html.DIV._postprocessing
gluon.html.FORM._postprocessing
gluon.html.INPUT._postprocessing
gluon.html.SELECT._postprocessing
gluon.html.TEXTAREA._postprocessing" class="py-name" href="#" onclick="return doclink('link-28', '_postprocessing', 'link-22');">_postprocessing</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L301"></a><tt class="py-lineno"> 301</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">name</tt> <tt class="py-keyword">and</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">vars</tt><tt class="py-op">.</tt><tt class="py-name">has_key</tt><tt class="py-op">(</tt><tt class="py-name">name</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L302"></a><tt class="py-lineno"> 302</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'value'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">vars</tt><tt class="py-op">[</tt><tt class="py-name">name</tt><tt class="py-op">]</tt> </tt>
<a name="L303"></a><tt class="py-lineno"> 303</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-29" class="py-name"><a title="gluon.html.DIV._postprocessing
gluon.html.FORM._postprocessing
gluon.html.INPUT._postprocessing
gluon.html.SELECT._postprocessing
gluon.html.TEXTAREA._postprocessing" class="py-name" href="#" onclick="return doclink('link-29', '_postprocessing', 'link-22');">_postprocessing</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L304"></a><tt class="py-lineno"> 304</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">name</tt><tt class="py-op">:</tt> </tt>
<a name="L305"></a><tt class="py-lineno"> 305</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">latest</tt><tt class="py-op">[</tt><tt class="py-name">name</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'value'</tt><tt class="py-op">]</tt> </tt>
<a name="L306"></a><tt class="py-lineno"> 306</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">newstatus</tt> </tt>
</div><a name="L307"></a><tt class="py-lineno"> 307</tt>  <tt class="py-line"> </tt>
<a name="DIV._validate"></a><div id="DIV._validate-def"><a name="L308"></a><tt class="py-lineno"> 308</tt> <a class="py-toggle" href="#" id="DIV._validate-toggle" onclick="return toggle('DIV._validate');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="gluon.html.DIV-class.html#_validate">_validate</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="DIV._validate-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="DIV._validate-expanded"><a name="L309"></a><tt class="py-lineno"> 309</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">True</tt> </tt>
</div><a name="L310"></a><tt class="py-lineno"> 310</tt>  <tt class="py-line"> </tt>
<a name="DIV._xml"></a><div id="DIV._xml-def"><a name="L311"></a><tt class="py-lineno"> 311</tt> <a class="py-toggle" href="#" id="DIV._xml-toggle" onclick="return toggle('DIV._xml');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="gluon.html.DIV-class.html#_xml">_xml</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="DIV._xml-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="DIV._xml-expanded"><a name="L312"></a><tt class="py-lineno"> 312</tt>  <tt class="py-line">        <tt class="py-name">fa</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
<a name="L313"></a><tt class="py-lineno"> 313</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">key</tt> <tt class="py-keyword">in</tt> <tt class="py-name">sorted</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">attributes</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L314"></a><tt class="py-lineno"> 314</tt>  <tt class="py-line">            <tt class="py-name">value</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt> </tt>
<a name="L315"></a><tt class="py-lineno"> 315</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">key</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-string">'_'</tt><tt class="py-op">:</tt> </tt>
<a name="L316"></a><tt class="py-lineno"> 316</tt>  <tt class="py-line">                <tt class="py-keyword">continue</tt> </tt>
<a name="L317"></a><tt class="py-lineno"> 317</tt>  <tt class="py-line">            <tt class="py-name">name</tt> <tt class="py-op">=</tt> <tt class="py-name">key</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-30" class="py-name" targets="Method gluon.sql.SQLField.lower()=gluon.sql.SQLField-class.html#lower"><a title="gluon.sql.SQLField.lower" class="py-name" href="#" onclick="return doclink('link-30', 'lower', 'link-30');">lower</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L318"></a><tt class="py-lineno"> 318</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">value</tt> <tt class="py-keyword">is</tt> <tt class="py-name">True</tt><tt class="py-op">:</tt> </tt>
<a name="L319"></a><tt class="py-lineno"> 319</tt>  <tt class="py-line">                <tt class="py-name">value</tt> <tt class="py-op">=</tt> <tt class="py-name">name</tt> </tt>
<a name="L320"></a><tt class="py-lineno"> 320</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">value</tt> <tt class="py-keyword">is</tt> <tt class="py-name">False</tt> <tt class="py-keyword">or</tt> <tt class="py-name">value</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
<a name="L321"></a><tt class="py-lineno"> 321</tt>  <tt class="py-line">                <tt class="py-keyword">continue</tt> </tt>
<a name="L322"></a><tt class="py-lineno"> 322</tt>  <tt class="py-line">            <tt class="py-name">fa</tt> <tt class="py-op">+=</tt> <tt class="py-string">' %s="%s"'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">name</tt><tt class="py-op">,</tt> <tt id="link-31" class="py-name" targets="Function gluon.html.xmlescape()=gluon.html-module.html#xmlescape"><a title="gluon.html.xmlescape" class="py-name" href="#" onclick="return doclink('link-31', 'xmlescape', 'link-31');">xmlescape</a></tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">,</tt> <tt class="py-name">True</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L323"></a><tt class="py-lineno"> 323</tt>  <tt class="py-line">        <tt class="py-name">co</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt id="link-32" class="py-name"><a title="gluon.html.xmlescape" class="py-name" href="#" onclick="return doclink('link-32', 'xmlescape', 'link-31');">xmlescape</a></tt><tt class="py-op">(</tt><tt class="py-name">component</tt><tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-name">component</tt> <tt class="py-keyword">in</tt> </tt>
<a name="L324"></a><tt class="py-lineno"> 324</tt>  <tt class="py-line">                     <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">components</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
<a name="L325"></a><tt class="py-lineno"> 325</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-op">(</tt><tt class="py-name">fa</tt><tt class="py-op">,</tt> <tt class="py-name">co</tt><tt class="py-op">)</tt> </tt>
</div><a name="L326"></a><tt class="py-lineno"> 326</tt>  <tt class="py-line"> </tt>
<a name="DIV.xml"></a><div id="DIV.xml-def"><a name="L327"></a><tt class="py-lineno"> 327</tt> <a class="py-toggle" href="#" id="DIV.xml-toggle" onclick="return toggle('DIV.xml');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="gluon.html.DIV-class.html#xml">xml</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="DIV.xml-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="DIV.xml-expanded"><a name="L328"></a><tt class="py-lineno"> 328</tt>  <tt class="py-line">        <tt class="py-op">(</tt><tt class="py-name">fa</tt><tt class="py-op">,</tt> <tt class="py-name">co</tt><tt class="py-op">)</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-33" class="py-name" targets="Method gluon.html.DIV._xml()=gluon.html.DIV-class.html#_xml"><a title="gluon.html.DIV._xml" class="py-name" href="#" onclick="return doclink('link-33', '_xml', 'link-33');">_xml</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L329"></a><tt class="py-lineno"> 329</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-34" class="py-name"><a title="gluon.html.A.tag
gluon.html.B.tag
gluon.html.BEAUTIFY.tag
gluon.html.BODY.tag
gluon.html.BR.tag
gluon.html.CENTER.tag
gluon.html.DIV.tag
gluon.html.EM.tag
gluon.html.EMBED.tag
gluon.html.FIELDSET.tag
gluon.html.FORM.tag
gluon.html.H1.tag
gluon.html.H2.tag
gluon.html.H3.tag
gluon.html.H4.tag
gluon.html.H5.tag
gluon.html.H6.tag
gluon.html.HEAD.tag
gluon.html.HR.tag
gluon.html.HTML.tag
gluon.html.IFRAME.tag
gluon.html.IMG.tag
gluon.html.INPUT.tag
gluon.html.LABEL.tag
gluon.html.LEGEND.tag
gluon.html.LI.tag
gluon.html.LINK.tag
gluon.html.META.tag
gluon.html.OBJECT.tag
gluon.html.OL.tag
gluon.html.OPTION.tag
gluon.html.P.tag
gluon.html.PRE.tag
gluon.html.SCRIPT.tag
gluon.html.SELECT.tag
gluon.html.SPAN.tag
gluon.html.STYLE.tag
gluon.html.TABLE.tag
gluon.html.TBODY.tag
gluon.html.TD.tag
gluon.html.TEXTAREA.tag
gluon.html.TFOOT.tag
gluon.html.TH.tag
gluon.html.THEAD.tag
gluon.html.TITLE.tag
gluon.html.TR.tag
gluon.html.TT.tag
gluon.html.UL.tag" class="py-name" href="#" onclick="return doclink('link-34', 'tag', 'link-18');">tag</a></tt><tt class="py-op">:</tt> </tt>
<a name="L330"></a><tt class="py-lineno"> 330</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">co</tt> </tt>
<a name="L331"></a><tt class="py-lineno"> 331</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-35" class="py-name"><a title="gluon.html.A.tag
gluon.html.B.tag
gluon.html.BEAUTIFY.tag
gluon.html.BODY.tag
gluon.html.BR.tag
gluon.html.CENTER.tag
gluon.html.DIV.tag
gluon.html.EM.tag
gluon.html.EMBED.tag
gluon.html.FIELDSET.tag
gluon.html.FORM.tag
gluon.html.H1.tag
gluon.html.H2.tag
gluon.html.H3.tag
gluon.html.H4.tag
gluon.html.H5.tag
gluon.html.H6.tag
gluon.html.HEAD.tag
gluon.html.HR.tag
gluon.html.HTML.tag
gluon.html.IFRAME.tag
gluon.html.IMG.tag
gluon.html.INPUT.tag
gluon.html.LABEL.tag
gluon.html.LEGEND.tag
gluon.html.LI.tag
gluon.html.LINK.tag
gluon.html.META.tag
gluon.html.OBJECT.tag
gluon.html.OL.tag
gluon.html.OPTION.tag
gluon.html.P.tag
gluon.html.PRE.tag
gluon.html.SCRIPT.tag
gluon.html.SELECT.tag
gluon.html.SPAN.tag
gluon.html.STYLE.tag
gluon.html.TABLE.tag
gluon.html.TBODY.tag
gluon.html.TD.tag
gluon.html.TEXTAREA.tag
gluon.html.TFOOT.tag
gluon.html.TH.tag
gluon.html.THEAD.tag
gluon.html.TITLE.tag
gluon.html.TR.tag
gluon.html.TT.tag
gluon.html.UL.tag" class="py-name" href="#" onclick="return doclink('link-35', 'tag', 'link-18');">tag</a></tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">'/'</tt><tt class="py-op">:</tt> </tt>
<a name="L332"></a><tt class="py-lineno"> 332</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-string">'&lt;%s%s /&gt;'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-36" class="py-name"><a title="gluon.html.A.tag
gluon.html.B.tag
gluon.html.BEAUTIFY.tag
gluon.html.BODY.tag
gluon.html.BR.tag
gluon.html.CENTER.tag
gluon.html.DIV.tag
gluon.html.EM.tag
gluon.html.EMBED.tag
gluon.html.FIELDSET.tag
gluon.html.FORM.tag
gluon.html.H1.tag
gluon.html.H2.tag
gluon.html.H3.tag
gluon.html.H4.tag
gluon.html.H5.tag
gluon.html.H6.tag
gluon.html.HEAD.tag
gluon.html.HR.tag
gluon.html.HTML.tag
gluon.html.IFRAME.tag
gluon.html.IMG.tag
gluon.html.INPUT.tag
gluon.html.LABEL.tag
gluon.html.LEGEND.tag
gluon.html.LI.tag
gluon.html.LINK.tag
gluon.html.META.tag
gluon.html.OBJECT.tag
gluon.html.OL.tag
gluon.html.OPTION.tag
gluon.html.P.tag
gluon.html.PRE.tag
gluon.html.SCRIPT.tag
gluon.html.SELECT.tag
gluon.html.SPAN.tag
gluon.html.STYLE.tag
gluon.html.TABLE.tag
gluon.html.TBODY.tag
gluon.html.TD.tag
gluon.html.TEXTAREA.tag
gluon.html.TFOOT.tag
gluon.html.TH.tag
gluon.html.THEAD.tag
gluon.html.TITLE.tag
gluon.html.TR.tag
gluon.html.TT.tag
gluon.html.UL.tag" class="py-name" href="#" onclick="return doclink('link-36', 'tag', 'link-18');">tag</a></tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">fa</tt><tt class="py-op">)</tt> </tt>
<a name="L333"></a><tt class="py-lineno"> 333</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-string">'&lt;%s%s&gt;%s&lt;/%s&gt;'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-37" class="py-name"><a title="gluon.html.A.tag
gluon.html.B.tag
gluon.html.BEAUTIFY.tag
gluon.html.BODY.tag
gluon.html.BR.tag
gluon.html.CENTER.tag
gluon.html.DIV.tag
gluon.html.EM.tag
gluon.html.EMBED.tag
gluon.html.FIELDSET.tag
gluon.html.FORM.tag
gluon.html.H1.tag
gluon.html.H2.tag
gluon.html.H3.tag
gluon.html.H4.tag
gluon.html.H5.tag
gluon.html.H6.tag
gluon.html.HEAD.tag
gluon.html.HR.tag
gluon.html.HTML.tag
gluon.html.IFRAME.tag
gluon.html.IMG.tag
gluon.html.INPUT.tag
gluon.html.LABEL.tag
gluon.html.LEGEND.tag
gluon.html.LI.tag
gluon.html.LINK.tag
gluon.html.META.tag
gluon.html.OBJECT.tag
gluon.html.OL.tag
gluon.html.OPTION.tag
gluon.html.P.tag
gluon.html.PRE.tag
gluon.html.SCRIPT.tag
gluon.html.SELECT.tag
gluon.html.SPAN.tag
gluon.html.STYLE.tag
gluon.html.TABLE.tag
gluon.html.TBODY.tag
gluon.html.TD.tag
gluon.html.TEXTAREA.tag
gluon.html.TFOOT.tag
gluon.html.TH.tag
gluon.html.THEAD.tag
gluon.html.TITLE.tag
gluon.html.TR.tag
gluon.html.TT.tag
gluon.html.UL.tag" class="py-name" href="#" onclick="return doclink('link-37', 'tag', 'link-18');">tag</a></tt><tt class="py-op">,</tt> <tt class="py-name">fa</tt><tt class="py-op">,</tt> <tt class="py-name">co</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-38" class="py-name"><a title="gluon.html.A.tag
gluon.html.B.tag
gluon.html.BEAUTIFY.tag
gluon.html.BODY.tag
gluon.html.BR.tag
gluon.html.CENTER.tag
gluon.html.DIV.tag
gluon.html.EM.tag
gluon.html.EMBED.tag
gluon.html.FIELDSET.tag
gluon.html.FORM.tag
gluon.html.H1.tag
gluon.html.H2.tag
gluon.html.H3.tag
gluon.html.H4.tag
gluon.html.H5.tag
gluon.html.H6.tag
gluon.html.HEAD.tag
gluon.html.HR.tag
gluon.html.HTML.tag
gluon.html.IFRAME.tag
gluon.html.IMG.tag
gluon.html.INPUT.tag
gluon.html.LABEL.tag
gluon.html.LEGEND.tag
gluon.html.LI.tag
gluon.html.LINK.tag
gluon.html.META.tag
gluon.html.OBJECT.tag
gluon.html.OL.tag
gluon.html.OPTION.tag
gluon.html.P.tag
gluon.html.PRE.tag
gluon.html.SCRIPT.tag
gluon.html.SELECT.tag
gluon.html.SPAN.tag
gluon.html.STYLE.tag
gluon.html.TABLE.tag
gluon.html.TBODY.tag
gluon.html.TD.tag
gluon.html.TEXTAREA.tag
gluon.html.TFOOT.tag
gluon.html.TH.tag
gluon.html.THEAD.tag
gluon.html.TITLE.tag
gluon.html.TR.tag
gluon.html.TT.tag
gluon.html.UL.tag" class="py-name" href="#" onclick="return doclink('link-38', 'tag', 'link-18');">tag</a></tt><tt class="py-op">)</tt> </tt>
</div><a name="L334"></a><tt class="py-lineno"> 334</tt>  <tt class="py-line"> </tt>
<a name="DIV.__str__"></a><div id="DIV.__str__-def"><a name="L335"></a><tt class="py-lineno"> 335</tt> <a class="py-toggle" href="#" id="DIV.__str__-toggle" onclick="return toggle('DIV.__str__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="gluon.html.DIV-class.html#__str__">__str__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="DIV.__str__-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="DIV.__str__-expanded"><a name="L336"></a><tt class="py-lineno"> 336</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-39" class="py-name"><a title="gluon.html.CODE.xml
gluon.html.DIV.xml
gluon.html.FORM.xml
gluon.html.HTML.xml
gluon.html.INPUT.xml
gluon.html.P.xml
gluon.html.SCRIPT.xml
gluon.html.XML.xml
gluon.languages.lazyT.xml
gluon.sql.SQLRows.xml
gluon.tools.Recaptcha.xml" class="py-name" href="#" onclick="return doclink('link-39', 'xml', 'link-7');">xml</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
</div><a name="L337"></a><tt class="py-lineno"> 337</tt>  <tt class="py-line"> </tt>
<a name="DIV.element"></a><div id="DIV.element-def"><a name="L338"></a><tt class="py-lineno"> 338</tt> <a class="py-toggle" href="#" id="DIV.element-toggle" onclick="return toggle('DIV.element');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="gluon.html.DIV-class.html#element">element</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">kargs</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="DIV.element-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="DIV.element-expanded"><a name="L339"></a><tt class="py-lineno"> 339</tt>  <tt class="py-line">        <tt class="py-name">components</tt> <tt class="py-op">=</tt> <tt class="py-name">copy</tt><tt class="py-op">.</tt><tt class="py-name">copy</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">components</tt><tt class="py-op">)</tt> </tt>
<a name="L340"></a><tt class="py-lineno"> 340</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt class="py-name">components</tt><tt class="py-op">:</tt> </tt>
<a name="L341"></a><tt class="py-lineno"> 341</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
<a name="L342"></a><tt class="py-lineno"> 342</tt>  <tt class="py-line">                <tt class="py-name">components</tt> <tt class="py-op">+=</tt> <tt class="py-name">copy</tt><tt class="py-op">.</tt><tt class="py-name">copy</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">.</tt><tt class="py-name">components</tt><tt class="py-op">)</tt> </tt>
<a name="L343"></a><tt class="py-lineno"> 343</tt>  <tt class="py-line">                <tt class="py-name">check</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
<a name="L344"></a><tt class="py-lineno"> 344</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">value</tt><tt class="py-op">)</tt> <tt class="py-keyword">in</tt> <tt class="py-name">kargs</tt><tt class="py-op">.</tt><tt class="py-name">items</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L345"></a><tt class="py-lineno"> 345</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">c</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-name">value</tt><tt class="py-op">:</tt> </tt>
<a name="L346"></a><tt class="py-lineno"> 346</tt>  <tt class="py-line">                        <tt class="py-name">check</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
<a name="L347"></a><tt class="py-lineno"> 347</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">check</tt><tt class="py-op">:</tt> </tt>
<a name="L348"></a><tt class="py-lineno"> 348</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">c</tt> </tt>
<a name="L349"></a><tt class="py-lineno"> 349</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
<a name="L350"></a><tt class="py-lineno"> 350</tt>  <tt class="py-line">                <tt class="py-keyword">pass</tt> </tt>
<a name="L351"></a><tt class="py-lineno"> 351</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
</div></div><a name="L352"></a><tt class="py-lineno"> 352</tt>  <tt class="py-line"> </tt>
<a name="L353"></a><tt class="py-lineno"> 353</tt>  <tt class="py-line"> </tt>
<a name="__TAG__"></a><div id="__TAG__-def"><a name="L354"></a><tt class="py-lineno"> 354</tt> <a class="py-toggle" href="#" id="__TAG__-toggle" onclick="return toggle('__TAG__');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="gluon.html.__TAG__-class.html">__TAG__</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="__TAG__-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="__TAG__-expanded"><a name="L355"></a><tt class="py-lineno"> 355</tt>  <tt class="py-line"> </tt>
<a name="L356"></a><tt class="py-lineno"> 356</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
<a name="L357"></a><tt class="py-lineno"> 357</tt>  <tt class="py-line"><tt class="py-docstring">    TAG factory example:</tt> </tt>
<a name="L358"></a><tt class="py-lineno"> 358</tt>  <tt class="py-line"><tt class="py-docstring">    &gt;&gt;&gt; print TAG.first(TAG.second('test'),_key=3)</tt> </tt>
<a name="L359"></a><tt class="py-lineno"> 359</tt>  <tt class="py-line"><tt class="py-docstring">    &lt;first key=\"3\"&gt;&lt;second&gt;test&lt;/second&gt;&lt;/first&gt;</tt> </tt>
<a name="L360"></a><tt class="py-lineno"> 360</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
<a name="L361"></a><tt class="py-lineno"> 361</tt>  <tt class="py-line"> </tt>
<a name="__TAG__.__getitem__"></a><div id="__TAG__.__getitem__-def"><a name="L362"></a><tt class="py-lineno"> 362</tt> <a class="py-toggle" href="#" id="__TAG__.__getitem__-toggle" onclick="return toggle('__TAG__.__getitem__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="gluon.html.__TAG__-class.html#__getitem__">__getitem__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">name</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="__TAG__.__getitem__-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="__TAG__.__getitem__-expanded"><a name="L363"></a><tt class="py-lineno"> 363</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-40" class="py-name" targets="Method gluon.html.__TAG__.__getattr__()=gluon.html.__TAG__-class.html#__getattr__,Method gluon.sql.SQLStorage.__getattr__()=gluon.sql.SQLStorage-class.html#__getattr__,Method gluon.sql.SQLTable.__getattr__()=gluon.sql.SQLTable-class.html#__getattr__,Method gluon.storage.Storage.__getattr__()=gluon.storage.Storage-class.html#__getattr__"><a title="gluon.html.__TAG__.__getattr__
gluon.sql.SQLStorage.__getattr__
gluon.sql.SQLTable.__getattr__
gluon.storage.Storage.__getattr__" class="py-name" href="#" onclick="return doclink('link-40', '__getattr__', 'link-40');">__getattr__</a></tt><tt class="py-op">(</tt><tt class="py-name">name</tt><tt class="py-op">)</tt> </tt>
</div><a name="L364"></a><tt class="py-lineno"> 364</tt>  <tt class="py-line"> </tt>
<a name="__TAG__.__getattr__"></a><div id="__TAG__.__getattr__-def"><a name="L365"></a><tt class="py-lineno"> 365</tt> <a class="py-toggle" href="#" id="__TAG__.__getattr__-toggle" onclick="return toggle('__TAG__.__getattr__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="gluon.html.__TAG__-class.html#__getattr__">__getattr__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">name</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="__TAG__.__getattr__-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="__TAG__.__getattr__-expanded"><a name="L366"></a><tt class="py-lineno"> 366</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">name</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">'_'</tt><tt class="py-op">:</tt> </tt>
<a name="L367"></a><tt class="py-lineno"> 367</tt>  <tt class="py-line">            <tt class="py-name">name</tt> <tt class="py-op">=</tt> <tt class="py-name">name</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-string">'/'</tt> </tt>
<a name="L368"></a><tt class="py-lineno"> 368</tt>  <tt class="py-line"> </tt>
<a name="L369"></a><tt class="py-lineno"> 369</tt>  <tt class="py-line"> </tt>
<a name="L370"></a><tt class="py-lineno"> 370</tt>  <tt class="py-line">        <tt class="py-keyword">class</tt> <tt class="py-def-name">__tag__</tt><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L371"></a><tt class="py-lineno"> 371</tt>  <tt class="py-line"> </tt>
<a name="L372"></a><tt class="py-lineno"> 372</tt>  <tt class="py-line">            <tt id="link-41" class="py-name"><a title="gluon.html.A.tag
gluon.html.B.tag
gluon.html.BEAUTIFY.tag
gluon.html.BODY.tag
gluon.html.BR.tag
gluon.html.CENTER.tag
gluon.html.DIV.tag
gluon.html.EM.tag
gluon.html.EMBED.tag
gluon.html.FIELDSET.tag
gluon.html.FORM.tag
gluon.html.H1.tag
gluon.html.H2.tag
gluon.html.H3.tag
gluon.html.H4.tag
gluon.html.H5.tag
gluon.html.H6.tag
gluon.html.HEAD.tag
gluon.html.HR.tag
gluon.html.HTML.tag
gluon.html.IFRAME.tag
gluon.html.IMG.tag
gluon.html.INPUT.tag
gluon.html.LABEL.tag
gluon.html.LEGEND.tag
gluon.html.LI.tag
gluon.html.LINK.tag
gluon.html.META.tag
gluon.html.OBJECT.tag
gluon.html.OL.tag
gluon.html.OPTION.tag
gluon.html.P.tag
gluon.html.PRE.tag
gluon.html.SCRIPT.tag
gluon.html.SELECT.tag
gluon.html.SPAN.tag
gluon.html.STYLE.tag
gluon.html.TABLE.tag
gluon.html.TBODY.tag
gluon.html.TD.tag
gluon.html.TEXTAREA.tag
gluon.html.TFOOT.tag
gluon.html.TH.tag
gluon.html.THEAD.tag
gluon.html.TITLE.tag
gluon.html.TR.tag
gluon.html.TT.tag
gluon.html.UL.tag" class="py-name" href="#" onclick="return doclink('link-41', 'tag', 'link-18');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-name">name</tt> </tt>
</div><a name="L373"></a><tt class="py-lineno"> 373</tt>  <tt class="py-line"> </tt>
<a name="L374"></a><tt class="py-lineno"> 374</tt>  <tt class="py-line"> </tt>
<a name="L375"></a><tt class="py-lineno"> 375</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-keyword">lambda</tt> <tt class="py-op">*</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-name">b</tt><tt class="py-op">:</tt> <tt class="py-name">__tag__</tt><tt class="py-op">(</tt><tt class="py-op">*</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-name">b</tt><tt class="py-op">)</tt> </tt>
</div></div><a name="L376"></a><tt class="py-lineno"> 376</tt>  <tt class="py-line"> </tt>
<a name="L377"></a><tt class="py-lineno"> 377</tt>  <tt class="py-line"> </tt>
<a name="L378"></a><tt class="py-lineno"> 378</tt>  <tt class="py-line"><tt id="link-42" class="py-name" targets="Variable gluon.html.TAG=gluon.html-module.html#TAG,Variable gluon.sqlhtml.TAG=gluon.sqlhtml-module.html#TAG,Variable gluon.tools.TAG=gluon.tools-module.html#TAG"><a title="gluon.html.TAG
gluon.sqlhtml.TAG
gluon.tools.TAG" class="py-name" href="#" onclick="return doclink('link-42', 'TAG', 'link-42');">TAG</a></tt> <tt class="py-op">=</tt> <tt id="link-43" class="py-name" targets="Class gluon.html.__TAG__=gluon.html.__TAG__-class.html"><a title="gluon.html.__TAG__" class="py-name" href="#" onclick="return doclink('link-43', '__TAG__', 'link-43');">__TAG__</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L379"></a><tt class="py-lineno"> 379</tt>  <tt class="py-line"> </tt>
<a name="L380"></a><tt class="py-lineno"> 380</tt>  <tt class="py-line"> </tt>
<a name="HTML"></a><div id="HTML-def"><a name="L381"></a><tt class="py-lineno"> 381</tt> <a class="py-toggle" href="#" id="HTML-toggle" onclick="return toggle('HTML');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="gluon.html.HTML-class.html">HTML</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="HTML-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="HTML-expanded"><a name="L382"></a><tt class="py-lineno"> 382</tt>  <tt class="py-line"> </tt>
<a name="L383"></a><tt class="py-lineno"> 383</tt>  <tt class="py-line">    <tt id="link-44" class="py-name"><a title="gluon.html.A.tag
gluon.html.B.tag
gluon.html.BEAUTIFY.tag
gluon.html.BODY.tag
gluon.html.BR.tag
gluon.html.CENTER.tag
gluon.html.DIV.tag
gluon.html.EM.tag
gluon.html.EMBED.tag
gluon.html.FIELDSET.tag
gluon.html.FORM.tag
gluon.html.H1.tag
gluon.html.H2.tag
gluon.html.H3.tag
gluon.html.H4.tag
gluon.html.H5.tag
gluon.html.H6.tag
gluon.html.HEAD.tag
gluon.html.HR.tag
gluon.html.HTML.tag
gluon.html.IFRAME.tag
gluon.html.IMG.tag
gluon.html.INPUT.tag
gluon.html.LABEL.tag
gluon.html.LEGEND.tag
gluon.html.LI.tag
gluon.html.LINK.tag
gluon.html.META.tag
gluon.html.OBJECT.tag
gluon.html.OL.tag
gluon.html.OPTION.tag
gluon.html.P.tag
gluon.html.PRE.tag
gluon.html.SCRIPT.tag
gluon.html.SELECT.tag
gluon.html.SPAN.tag
gluon.html.STYLE.tag
gluon.html.TABLE.tag
gluon.html.TBODY.tag
gluon.html.TD.tag
gluon.html.TEXTAREA.tag
gluon.html.TFOOT.tag
gluon.html.TH.tag
gluon.html.THEAD.tag
gluon.html.TITLE.tag
gluon.html.TR.tag
gluon.html.TT.tag
gluon.html.UL.tag" class="py-name" href="#" onclick="return doclink('link-44', 'tag', 'link-18');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'html'</tt> </tt>
<a name="L384"></a><tt class="py-lineno"> 384</tt>  <tt class="py-line"> </tt>
<a name="HTML.xml"></a><div id="HTML.xml-def"><a name="L385"></a><tt class="py-lineno"> 385</tt> <a class="py-toggle" href="#" id="HTML.xml-toggle" onclick="return toggle('HTML.xml');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="gluon.html.HTML-class.html#xml">xml</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="HTML.xml-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="HTML.xml-expanded"><a name="L386"></a><tt class="py-lineno"> 386</tt>  <tt class="py-line">        <tt class="py-op">(</tt><tt class="py-name">fa</tt><tt class="py-op">,</tt> <tt class="py-name">co</tt><tt class="py-op">)</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-45" class="py-name"><a title="gluon.html.DIV._xml" class="py-name" href="#" onclick="return doclink('link-45', '_xml', 'link-33');">_xml</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L387"></a><tt class="py-lineno"> 387</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-string">'&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"&gt;\n&lt;%s%s&gt;%s&lt;/%s&gt;'</tt>\ </tt>
<a name="L388"></a><tt class="py-lineno"> 388</tt>  <tt class="py-line">             <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-46" class="py-name"><a title="gluon.html.A.tag
gluon.html.B.tag
gluon.html.BEAUTIFY.tag
gluon.html.BODY.tag
gluon.html.BR.tag
gluon.html.CENTER.tag
gluon.html.DIV.tag
gluon.html.EM.tag
gluon.html.EMBED.tag
gluon.html.FIELDSET.tag
gluon.html.FORM.tag
gluon.html.H1.tag
gluon.html.H2.tag
gluon.html.H3.tag
gluon.html.H4.tag
gluon.html.H5.tag
gluon.html.H6.tag
gluon.html.HEAD.tag
gluon.html.HR.tag
gluon.html.HTML.tag
gluon.html.IFRAME.tag
gluon.html.IMG.tag
gluon.html.INPUT.tag
gluon.html.LABEL.tag
gluon.html.LEGEND.tag
gluon.html.LI.tag
gluon.html.LINK.tag
gluon.html.META.tag
gluon.html.OBJECT.tag
gluon.html.OL.tag
gluon.html.OPTION.tag
gluon.html.P.tag
gluon.html.PRE.tag
gluon.html.SCRIPT.tag
gluon.html.SELECT.tag
gluon.html.SPAN.tag
gluon.html.STYLE.tag
gluon.html.TABLE.tag
gluon.html.TBODY.tag
gluon.html.TD.tag
gluon.html.TEXTAREA.tag
gluon.html.TFOOT.tag
gluon.html.TH.tag
gluon.html.THEAD.tag
gluon.html.TITLE.tag
gluon.html.TR.tag
gluon.html.TT.tag
gluon.html.UL.tag" class="py-name" href="#" onclick="return doclink('link-46', 'tag', 'link-18');">tag</a></tt><tt class="py-op">,</tt> <tt class="py-name">fa</tt><tt class="py-op">,</tt> <tt class="py-name">co</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-47" class="py-name"><a title="gluon.html.A.tag
gluon.html.B.tag
gluon.html.BEAUTIFY.tag
gluon.html.BODY.tag
gluon.html.BR.tag
gluon.html.CENTER.tag
gluon.html.DIV.tag
gluon.html.EM.tag
gluon.html.EMBED.tag
gluon.html.FIELDSET.tag
gluon.html.FORM.tag
gluon.html.H1.tag
gluon.html.H2.tag
gluon.html.H3.tag
gluon.html.H4.tag
gluon.html.H5.tag
gluon.html.H6.tag
gluon.html.HEAD.tag
gluon.html.HR.tag
gluon.html.HTML.tag
gluon.html.IFRAME.tag
gluon.html.IMG.tag
gluon.html.INPUT.tag
gluon.html.LABEL.tag
gluon.html.LEGEND.tag
gluon.html.LI.tag
gluon.html.LINK.tag
gluon.html.META.tag
gluon.html.OBJECT.tag
gluon.html.OL.tag
gluon.html.OPTION.tag
gluon.html.P.tag
gluon.html.PRE.tag
gluon.html.SCRIPT.tag
gluon.html.SELECT.tag
gluon.html.SPAN.tag
gluon.html.STYLE.tag
gluon.html.TABLE.tag
gluon.html.TBODY.tag
gluon.html.TD.tag
gluon.html.TEXTAREA.tag
gluon.html.TFOOT.tag
gluon.html.TH.tag
gluon.html.THEAD.tag
gluon.html.TITLE.tag
gluon.html.TR.tag
gluon.html.TT.tag
gluon.html.UL.tag" class="py-name" href="#" onclick="return doclink('link-47', 'tag', 'link-18');">tag</a></tt><tt class="py-op">)</tt> </tt>
</div></div><a name="L389"></a><tt class="py-lineno"> 389</tt>  <tt class="py-line"> </tt>
<a name="L390"></a><tt class="py-lineno"> 390</tt>  <tt class="py-line"> </tt>
<a name="HEAD"></a><div id="HEAD-def"><a name="L391"></a><tt class="py-lineno"> 391</tt> <a class="py-toggle" href="#" id="HEAD-toggle" onclick="return toggle('HEAD');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="gluon.html.HEAD-class.html">HEAD</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="HEAD-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="HEAD-expanded"><a name="L392"></a><tt class="py-lineno"> 392</tt>  <tt class="py-line"> </tt>
<a name="L393"></a><tt class="py-lineno"> 393</tt>  <tt class="py-line">    <tt id="link-48" class="py-name"><a title="gluon.html.A.tag
gluon.html.B.tag
gluon.html.BEAUTIFY.tag
gluon.html.BODY.tag
gluon.html.BR.tag
gluon.html.CENTER.tag
gluon.html.DIV.tag
gluon.html.EM.tag
gluon.html.EMBED.tag
gluon.html.FIELDSET.tag
gluon.html.FORM.tag
gluon.html.H1.tag
gluon.html.H2.tag
gluon.html.H3.tag
gluon.html.H4.tag
gluon.html.H5.tag
gluon.html.H6.tag
gluon.html.HEAD.tag
gluon.html.HR.tag
gluon.html.HTML.tag
gluon.html.IFRAME.tag
gluon.html.IMG.tag
gluon.html.INPUT.tag
gluon.html.LABEL.tag
gluon.html.LEGEND.tag
gluon.html.LI.tag
gluon.html.LINK.tag
gluon.html.META.tag
gluon.html.OBJECT.tag
gluon.html.OL.tag
gluon.html.OPTION.tag
gluon.html.P.tag
gluon.html.PRE.tag
gluon.html.SCRIPT.tag
gluon.html.SELECT.tag
gluon.html.SPAN.tag
gluon.html.STYLE.tag
gluon.html.TABLE.tag
gluon.html.TBODY.tag
gluon.html.TD.tag
gluon.html.TEXTAREA.tag
gluon.html.TFOOT.tag
gluon.html.TH.tag
gluon.html.THEAD.tag
gluon.html.TITLE.tag
gluon.html.TR.tag
gluon.html.TT.tag
gluon.html.UL.tag" class="py-name" href="#" onclick="return doclink('link-48', 'tag', 'link-18');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'head'</tt> </tt>
</div><a name="L394"></a><tt class="py-lineno"> 394</tt>  <tt class="py-line"> </tt>
<a name="L395"></a><tt class="py-lineno"> 395</tt>  <tt class="py-line"> </tt>
<a name="TITLE"></a><div id="TITLE-def"><a name="L396"></a><tt class="py-lineno"> 396</tt> <a class="py-toggle" href="#" id="TITLE-toggle" onclick="return toggle('TITLE');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="gluon.html.TITLE-class.html">TITLE</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="TITLE-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="TITLE-expanded"><a name="L397"></a><tt class="py-lineno"> 397</tt>  <tt class="py-line"> </tt>
<a name="L398"></a><tt class="py-lineno"> 398</tt>  <tt class="py-line">    <tt id="link-49" class="py-name"><a title="gluon.html.A.tag
gluon.html.B.tag
gluon.html.BEAUTIFY.tag
gluon.html.BODY.tag
gluon.html.BR.tag
gluon.html.CENTER.tag
gluon.html.DIV.tag
gluon.html.EM.tag
gluon.html.EMBED.tag
gluon.html.FIELDSET.tag
gluon.html.FORM.tag
gluon.html.H1.tag
gluon.html.H2.tag
gluon.html.H3.tag
gluon.html.H4.tag
gluon.html.H5.tag
gluon.html.H6.tag
gluon.html.HEAD.tag
gluon.html.HR.tag
gluon.html.HTML.tag
gluon.html.IFRAME.tag
gluon.html.IMG.tag
gluon.html.INPUT.tag
gluon.html.LABEL.tag
gluon.html.LEGEND.tag
gluon.html.LI.tag
gluon.html.LINK.tag
gluon.html.META.tag
gluon.html.OBJECT.tag
gluon.html.OL.tag
gluon.html.OPTION.tag
gluon.html.P.tag
gluon.html.PRE.tag
gluon.html.SCRIPT.tag
gluon.html.SELECT.tag
gluon.html.SPAN.tag
gluon.html.STYLE.tag
gluon.html.TABLE.tag
gluon.html.TBODY.tag
gluon.html.TD.tag
gluon.html.TEXTAREA.tag
gluon.html.TFOOT.tag
gluon.html.TH.tag
gluon.html.THEAD.tag
gluon.html.TITLE.tag
gluon.html.TR.tag
gluon.html.TT.tag
gluon.html.UL.tag" class="py-name" href="#" onclick="return doclink('link-49', 'tag', 'link-18');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'title'</tt> </tt>
</div><a name="L399"></a><tt class="py-lineno"> 399</tt>  <tt class="py-line"> </tt>
<a name="L400"></a><tt class="py-lineno"> 400</tt>  <tt class="py-line"> </tt>
<a name="META"></a><div id="META-def"><a name="L401"></a><tt class="py-lineno"> 401</tt> <a class="py-toggle" href="#" id="META-toggle" onclick="return toggle('META');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="gluon.html.META-class.html">META</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="META-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="META-expanded"><a name="L402"></a><tt class="py-lineno"> 402</tt>  <tt class="py-line"> </tt>
<a name="L403"></a><tt class="py-lineno"> 403</tt>  <tt class="py-line">    <tt id="link-50" class="py-name"><a title="gluon.html.A.tag
gluon.html.B.tag
gluon.html.BEAUTIFY.tag
gluon.html.BODY.tag
gluon.html.BR.tag
gluon.html.CENTER.tag
gluon.html.DIV.tag
gluon.html.EM.tag
gluon.html.EMBED.tag
gluon.html.FIELDSET.tag
gluon.html.FORM.tag
gluon.html.H1.tag
gluon.html.H2.tag
gluon.html.H3.tag
gluon.html.H4.tag
gluon.html.H5.tag
gluon.html.H6.tag
gluon.html.HEAD.tag
gluon.html.HR.tag
gluon.html.HTML.tag
gluon.html.IFRAME.tag
gluon.html.IMG.tag
gluon.html.INPUT.tag
gluon.html.LABEL.tag
gluon.html.LEGEND.tag
gluon.html.LI.tag
gluon.html.LINK.tag
gluon.html.META.tag
gluon.html.OBJECT.tag
gluon.html.OL.tag
gluon.html.OPTION.tag
gluon.html.P.tag
gluon.html.PRE.tag
gluon.html.SCRIPT.tag
gluon.html.SELECT.tag
gluon.html.SPAN.tag
gluon.html.STYLE.tag
gluon.html.TABLE.tag
gluon.html.TBODY.tag
gluon.html.TD.tag
gluon.html.TEXTAREA.tag
gluon.html.TFOOT.tag
gluon.html.TH.tag
gluon.html.THEAD.tag
gluon.html.TITLE.tag
gluon.html.TR.tag
gluon.html.TT.tag
gluon.html.UL.tag" class="py-name" href="#" onclick="return doclink('link-50', 'tag', 'link-18');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'meta/'</tt> </tt>
</div><a name="L404"></a><tt class="py-lineno"> 404</tt>  <tt class="py-line"> </tt>
<a name="L405"></a><tt class="py-lineno"> 405</tt>  <tt class="py-line"> </tt>
<a name="LINK"></a><div id="LINK-def"><a name="L406"></a><tt class="py-lineno"> 406</tt> <a class="py-toggle" href="#" id="LINK-toggle" onclick="return toggle('LINK');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="gluon.html.LINK-class.html">LINK</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="LINK-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="LINK-expanded"><a name="L407"></a><tt class="py-lineno"> 407</tt>  <tt class="py-line"> </tt>
<a name="L408"></a><tt class="py-lineno"> 408</tt>  <tt class="py-line">    <tt id="link-51" class="py-name"><a title="gluon.html.A.tag
gluon.html.B.tag
gluon.html.BEAUTIFY.tag
gluon.html.BODY.tag
gluon.html.BR.tag
gluon.html.CENTER.tag
gluon.html.DIV.tag
gluon.html.EM.tag
gluon.html.EMBED.tag
gluon.html.FIELDSET.tag
gluon.html.FORM.tag
gluon.html.H1.tag
gluon.html.H2.tag
gluon.html.H3.tag
gluon.html.H4.tag
gluon.html.H5.tag
gluon.html.H6.tag
gluon.html.HEAD.tag
gluon.html.HR.tag
gluon.html.HTML.tag
gluon.html.IFRAME.tag
gluon.html.IMG.tag
gluon.html.INPUT.tag
gluon.html.LABEL.tag
gluon.html.LEGEND.tag
gluon.html.LI.tag
gluon.html.LINK.tag
gluon.html.META.tag
gluon.html.OBJECT.tag
gluon.html.OL.tag
gluon.html.OPTION.tag
gluon.html.P.tag
gluon.html.PRE.tag
gluon.html.SCRIPT.tag
gluon.html.SELECT.tag
gluon.html.SPAN.tag
gluon.html.STYLE.tag
gluon.html.TABLE.tag
gluon.html.TBODY.tag
gluon.html.TD.tag
gluon.html.TEXTAREA.tag
gluon.html.TFOOT.tag
gluon.html.TH.tag
gluon.html.THEAD.tag
gluon.html.TITLE.tag
gluon.html.TR.tag
gluon.html.TT.tag
gluon.html.UL.tag" class="py-name" href="#" onclick="return doclink('link-51', 'tag', 'link-18');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'link/'</tt> </tt>
</div><a name="L409"></a><tt class="py-lineno"> 409</tt>  <tt class="py-line"> </tt>
<a name="L410"></a><tt class="py-lineno"> 410</tt>  <tt class="py-line"> </tt>
<a name="SCRIPT"></a><div id="SCRIPT-def"><a name="L411"></a><tt class="py-lineno"> 411</tt> <a class="py-toggle" href="#" id="SCRIPT-toggle" onclick="return toggle('SCRIPT');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="gluon.html.SCRIPT-class.html">SCRIPT</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="SCRIPT-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="SCRIPT-expanded"><a name="L412"></a><tt class="py-lineno"> 412</tt>  <tt class="py-line"> </tt>
<a name="L413"></a><tt class="py-lineno"> 413</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
<a name="L414"></a><tt class="py-lineno"> 414</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
<a name="L415"></a><tt class="py-lineno"> 415</tt>  <tt class="py-line"> </tt>
<a name="L416"></a><tt class="py-lineno"> 416</tt>  <tt class="py-line">    <tt id="link-52" class="py-name"><a title="gluon.html.A.tag
gluon.html.B.tag
gluon.html.BEAUTIFY.tag
gluon.html.BODY.tag
gluon.html.BR.tag
gluon.html.CENTER.tag
gluon.html.DIV.tag
gluon.html.EM.tag
gluon.html.EMBED.tag
gluon.html.FIELDSET.tag
gluon.html.FORM.tag
gluon.html.H1.tag
gluon.html.H2.tag
gluon.html.H3.tag
gluon.html.H4.tag
gluon.html.H5.tag
gluon.html.H6.tag
gluon.html.HEAD.tag
gluon.html.HR.tag
gluon.html.HTML.tag
gluon.html.IFRAME.tag
gluon.html.IMG.tag
gluon.html.INPUT.tag
gluon.html.LABEL.tag
gluon.html.LEGEND.tag
gluon.html.LI.tag
gluon.html.LINK.tag
gluon.html.META.tag
gluon.html.OBJECT.tag
gluon.html.OL.tag
gluon.html.OPTION.tag
gluon.html.P.tag
gluon.html.PRE.tag
gluon.html.SCRIPT.tag
gluon.html.SELECT.tag
gluon.html.SPAN.tag
gluon.html.STYLE.tag
gluon.html.TABLE.tag
gluon.html.TBODY.tag
gluon.html.TD.tag
gluon.html.TEXTAREA.tag
gluon.html.TFOOT.tag
gluon.html.TH.tag
gluon.html.THEAD.tag
gluon.html.TITLE.tag
gluon.html.TR.tag
gluon.html.TT.tag
gluon.html.UL.tag" class="py-name" href="#" onclick="return doclink('link-52', 'tag', 'link-18');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'script'</tt> </tt>
<a name="L417"></a><tt class="py-lineno"> 417</tt>  <tt class="py-line"> </tt>
<a name="SCRIPT.xml"></a><div id="SCRIPT.xml-def"><a name="L418"></a><tt class="py-lineno"> 418</tt> <a class="py-toggle" href="#" id="SCRIPT.xml-toggle" onclick="return toggle('SCRIPT.xml');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="gluon.html.SCRIPT-class.html#xml">xml</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="SCRIPT.xml-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="SCRIPT.xml-expanded"><a name="L419"></a><tt class="py-lineno"> 419</tt>  <tt class="py-line">        <tt class="py-op">(</tt><tt class="py-name">fa</tt><tt class="py-op">,</tt> <tt class="py-name">co</tt><tt class="py-op">)</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-53" class="py-name"><a title="gluon.html.DIV._xml" class="py-name" href="#" onclick="return doclink('link-53', '_xml', 'link-33');">_xml</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L420"></a><tt class="py-lineno"> 420</tt>  <tt class="py-line">        <tt class="py-name">co</tt> <tt class="py-op">=</tt> <tt class="py-string">'\n'</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">component</tt><tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-name">component</tt> <tt class="py-keyword">in</tt> </tt>
<a name="L421"></a><tt class="py-lineno"> 421</tt>  <tt class="py-line">                       <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">components</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
<a name="L422"></a><tt class="py-lineno"> 422</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">co</tt><tt class="py-op">:</tt> </tt>
<a name="L423"></a><tt class="py-lineno"> 423</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-string">'&lt;%s%s&gt;&lt;!--\n%s\n//--&gt;&lt;/%s&gt;'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-54" class="py-name"><a title="gluon.html.A.tag
gluon.html.B.tag
gluon.html.BEAUTIFY.tag
gluon.html.BODY.tag
gluon.html.BR.tag
gluon.html.CENTER.tag
gluon.html.DIV.tag
gluon.html.EM.tag
gluon.html.EMBED.tag
gluon.html.FIELDSET.tag
gluon.html.FORM.tag
gluon.html.H1.tag
gluon.html.H2.tag
gluon.html.H3.tag
gluon.html.H4.tag
gluon.html.H5.tag
gluon.html.H6.tag
gluon.html.HEAD.tag
gluon.html.HR.tag
gluon.html.HTML.tag
gluon.html.IFRAME.tag
gluon.html.IMG.tag
gluon.html.INPUT.tag
gluon.html.LABEL.tag
gluon.html.LEGEND.tag
gluon.html.LI.tag
gluon.html.LINK.tag
gluon.html.META.tag
gluon.html.OBJECT.tag
gluon.html.OL.tag
gluon.html.OPTION.tag
gluon.html.P.tag
gluon.html.PRE.tag
gluon.html.SCRIPT.tag
gluon.html.SELECT.tag
gluon.html.SPAN.tag
gluon.html.STYLE.tag
gluon.html.TABLE.tag
gluon.html.TBODY.tag
gluon.html.TD.tag
gluon.html.TEXTAREA.tag
gluon.html.TFOOT.tag
gluon.html.TH.tag
gluon.html.THEAD.tag
gluon.html.TITLE.tag
gluon.html.TR.tag
gluon.html.TT.tag
gluon.html.UL.tag" class="py-name" href="#" onclick="return doclink('link-54', 'tag', 'link-18');">tag</a></tt><tt class="py-op">,</tt> <tt class="py-name">fa</tt><tt class="py-op">,</tt> <tt class="py-name">co</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-55" class="py-name"><a title="gluon.html.A.tag
gluon.html.B.tag
gluon.html.BEAUTIFY.tag
gluon.html.BODY.tag
gluon.html.BR.tag
gluon.html.CENTER.tag
gluon.html.DIV.tag
gluon.html.EM.tag
gluon.html.EMBED.tag
gluon.html.FIELDSET.tag
gluon.html.FORM.tag
gluon.html.H1.tag
gluon.html.H2.tag
gluon.html.H3.tag
gluon.html.H4.tag
gluon.html.H5.tag
gluon.html.H6.tag
gluon.html.HEAD.tag
gluon.html.HR.tag
gluon.html.HTML.tag
gluon.html.IFRAME.tag
gluon.html.IMG.tag
gluon.html.INPUT.tag
gluon.html.LABEL.tag
gluon.html.LEGEND.tag
gluon.html.LI.tag
gluon.html.LINK.tag
gluon.html.META.tag
gluon.html.OBJECT.tag
gluon.html.OL.tag
gluon.html.OPTION.tag
gluon.html.P.tag
gluon.html.PRE.tag
gluon.html.SCRIPT.tag
gluon.html.SELECT.tag
gluon.html.SPAN.tag
gluon.html.STYLE.tag
gluon.html.TABLE.tag
gluon.html.TBODY.tag
gluon.html.TD.tag
gluon.html.TEXTAREA.tag
gluon.html.TFOOT.tag
gluon.html.TH.tag
gluon.html.THEAD.tag
gluon.html.TITLE.tag
gluon.html.TR.tag
gluon.html.TT.tag
gluon.html.UL.tag" class="py-name" href="#" onclick="return doclink('link-55', 'tag', 'link-18');">tag</a></tt><tt class="py-op">)</tt> </tt>
<a name="L424"></a><tt class="py-lineno"> 424</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
<a name="L425"></a><tt class="py-lineno"> 425</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt id="link-56" class="py-name" targets="Class gluon.html.DIV=gluon.html.DIV-class.html"><a title="gluon.html.DIV" class="py-name" href="#" onclick="return doclink('link-56', 'DIV', 'link-56');">DIV</a></tt><tt class="py-op">.</tt><tt id="link-57" class="py-name"><a title="gluon.html.CODE.xml
gluon.html.DIV.xml
gluon.html.FORM.xml
gluon.html.HTML.xml
gluon.html.INPUT.xml
gluon.html.P.xml
gluon.html.SCRIPT.xml
gluon.html.XML.xml
gluon.languages.lazyT.xml
gluon.sql.SQLRows.xml
gluon.tools.Recaptcha.xml" class="py-name" href="#" onclick="return doclink('link-57', 'xml', 'link-7');">xml</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt> </tt>
</div></div><a name="L426"></a><tt class="py-lineno"> 426</tt>  <tt class="py-line"> </tt>
<a name="L427"></a><tt class="py-lineno"> 427</tt>  <tt class="py-line"> </tt>
<a name="STYLE"></a><div id="STYLE-def"><a name="L428"></a><tt class="py-lineno"> 428</tt> <a class="py-toggle" href="#" id="STYLE-toggle" onclick="return toggle('STYLE');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="gluon.html.STYLE-class.html">STYLE</a><tt class="py-op">(</tt><tt class="py-base-class">SCRIPT</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="STYLE-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="STYLE-expanded"><a name="L429"></a><tt class="py-lineno"> 429</tt>  <tt class="py-line"> </tt>
<a name="L430"></a><tt class="py-lineno"> 430</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
<a name="L431"></a><tt class="py-lineno"> 431</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
<a name="L432"></a><tt class="py-lineno"> 432</tt>  <tt class="py-line"> </tt>
<a name="L433"></a><tt class="py-lineno"> 433</tt>  <tt class="py-line">    <tt id="link-58" class="py-name"><a title="gluon.html.A.tag
gluon.html.B.tag
gluon.html.BEAUTIFY.tag
gluon.html.BODY.tag
gluon.html.BR.tag
gluon.html.CENTER.tag
gluon.html.DIV.tag
gluon.html.EM.tag
gluon.html.EMBED.tag
gluon.html.FIELDSET.tag
gluon.html.FORM.tag
gluon.html.H1.tag
gluon.html.H2.tag
gluon.html.H3.tag
gluon.html.H4.tag
gluon.html.H5.tag
gluon.html.H6.tag
gluon.html.HEAD.tag
gluon.html.HR.tag
gluon.html.HTML.tag
gluon.html.IFRAME.tag
gluon.html.IMG.tag
gluon.html.INPUT.tag
gluon.html.LABEL.tag
gluon.html.LEGEND.tag
gluon.html.LI.tag
gluon.html.LINK.tag
gluon.html.META.tag
gluon.html.OBJECT.tag
gluon.html.OL.tag
gluon.html.OPTION.tag
gluon.html.P.tag
gluon.html.PRE.tag
gluon.html.SCRIPT.tag
gluon.html.SELECT.tag
gluon.html.SPAN.tag
gluon.html.STYLE.tag
gluon.html.TABLE.tag
gluon.html.TBODY.tag
gluon.html.TD.tag
gluon.html.TEXTAREA.tag
gluon.html.TFOOT.tag
gluon.html.TH.tag
gluon.html.THEAD.tag
gluon.html.TITLE.tag
gluon.html.TR.tag
gluon.html.TT.tag
gluon.html.UL.tag" class="py-name" href="#" onclick="return doclink('link-58', 'tag', 'link-18');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'style'</tt> </tt>
</div><a name="L434"></a><tt class="py-lineno"> 434</tt>  <tt class="py-line"> </tt>
<a name="L435"></a><tt class="py-lineno"> 435</tt>  <tt class="py-line"> </tt>
<a name="IMG"></a><div id="IMG-def"><a name="L436"></a><tt class="py-lineno"> 436</tt> <a class="py-toggle" href="#" id="IMG-toggle" onclick="return toggle('IMG');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="gluon.html.IMG-class.html">IMG</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="IMG-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="IMG-expanded"><a name="L437"></a><tt class="py-lineno"> 437</tt>  <tt class="py-line"> </tt>
<a name="L438"></a><tt class="py-lineno"> 438</tt>  <tt class="py-line">    <tt id="link-59" class="py-name"><a title="gluon.html.A.tag
gluon.html.B.tag
gluon.html.BEAUTIFY.tag
gluon.html.BODY.tag
gluon.html.BR.tag
gluon.html.CENTER.tag
gluon.html.DIV.tag
gluon.html.EM.tag
gluon.html.EMBED.tag
gluon.html.FIELDSET.tag
gluon.html.FORM.tag
gluon.html.H1.tag
gluon.html.H2.tag
gluon.html.H3.tag
gluon.html.H4.tag
gluon.html.H5.tag
gluon.html.H6.tag
gluon.html.HEAD.tag
gluon.html.HR.tag
gluon.html.HTML.tag
gluon.html.IFRAME.tag
gluon.html.IMG.tag
gluon.html.INPUT.tag
gluon.html.LABEL.tag
gluon.html.LEGEND.tag
gluon.html.LI.tag
gluon.html.LINK.tag
gluon.html.META.tag
gluon.html.OBJECT.tag
gluon.html.OL.tag
gluon.html.OPTION.tag
gluon.html.P.tag
gluon.html.PRE.tag
gluon.html.SCRIPT.tag
gluon.html.SELECT.tag
gluon.html.SPAN.tag
gluon.html.STYLE.tag
gluon.html.TABLE.tag
gluon.html.TBODY.tag
gluon.html.TD.tag
gluon.html.TEXTAREA.tag
gluon.html.TFOOT.tag
gluon.html.TH.tag
gluon.html.THEAD.tag
gluon.html.TITLE.tag
gluon.html.TR.tag
gluon.html.TT.tag
gluon.html.UL.tag" class="py-name" href="#" onclick="return doclink('link-59', 'tag', 'link-18');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'img/'</tt> </tt>
</div><a name="L439"></a><tt class="py-lineno"> 439</tt>  <tt class="py-line"> </tt>
<a name="L440"></a><tt class="py-lineno"> 440</tt>  <tt class="py-line"> </tt>
<a name="SPAN"></a><div id="SPAN-def"><a name="L441"></a><tt class="py-lineno"> 441</tt> <a class="py-toggle" href="#" id="SPAN-toggle" onclick="return toggle('SPAN');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="gluon.html.SPAN-class.html">SPAN</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="SPAN-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="SPAN-expanded"><a name="L442"></a><tt class="py-lineno"> 442</tt>  <tt class="py-line"> </tt>
<a name="L443"></a><tt class="py-lineno"> 443</tt>  <tt class="py-line">    <tt id="link-60" class="py-name"><a title="gluon.html.A.tag
gluon.html.B.tag
gluon.html.BEAUTIFY.tag
gluon.html.BODY.tag
gluon.html.BR.tag
gluon.html.CENTER.tag
gluon.html.DIV.tag
gluon.html.EM.tag
gluon.html.EMBED.tag
gluon.html.FIELDSET.tag
gluon.html.FORM.tag
gluon.html.H1.tag
gluon.html.H2.tag
gluon.html.H3.tag
gluon.html.H4.tag
gluon.html.H5.tag
gluon.html.H6.tag
gluon.html.HEAD.tag
gluon.html.HR.tag
gluon.html.HTML.tag
gluon.html.IFRAME.tag
gluon.html.IMG.tag
gluon.html.INPUT.tag
gluon.html.LABEL.tag
gluon.html.LEGEND.tag
gluon.html.LI.tag
gluon.html.LINK.tag
gluon.html.META.tag
gluon.html.OBJECT.tag
gluon.html.OL.tag
gluon.html.OPTION.tag
gluon.html.P.tag
gluon.html.PRE.tag
gluon.html.SCRIPT.tag
gluon.html.SELECT.tag
gluon.html.SPAN.tag
gluon.html.STYLE.tag
gluon.html.TABLE.tag
gluon.html.TBODY.tag
gluon.html.TD.tag
gluon.html.TEXTAREA.tag
gluon.html.TFOOT.tag
gluon.html.TH.tag
gluon.html.THEAD.tag
gluon.html.TITLE.tag
gluon.html.TR.tag
gluon.html.TT.tag
gluon.html.UL.tag" class="py-name" href="#" onclick="return doclink('link-60', 'tag', 'link-18');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'span'</tt> </tt>
</div><a name="L444"></a><tt class="py-lineno"> 444</tt>  <tt class="py-line"> </tt>
<a name="L445"></a><tt class="py-lineno"> 445</tt>  <tt class="py-line"> </tt>
<a name="BODY"></a><div id="BODY-def"><a name="L446"></a><tt class="py-lineno"> 446</tt> <a class="py-toggle" href="#" id="BODY-toggle" onclick="return toggle('BODY');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="gluon.html.BODY-class.html">BODY</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="BODY-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="BODY-expanded"><a name="L447"></a><tt class="py-lineno"> 447</tt>  <tt class="py-line"> </tt>
<a name="L448"></a><tt class="py-lineno"> 448</tt>  <tt class="py-line">    <tt id="link-61" class="py-name"><a title="gluon.html.A.tag
gluon.html.B.tag
gluon.html.BEAUTIFY.tag
gluon.html.BODY.tag
gluon.html.BR.tag
gluon.html.CENTER.tag
gluon.html.DIV.tag
gluon.html.EM.tag
gluon.html.EMBED.tag
gluon.html.FIELDSET.tag
gluon.html.FORM.tag
gluon.html.H1.tag
gluon.html.H2.tag
gluon.html.H3.tag
gluon.html.H4.tag
gluon.html.H5.tag
gluon.html.H6.tag
gluon.html.HEAD.tag
gluon.html.HR.tag
gluon.html.HTML.tag
gluon.html.IFRAME.tag
gluon.html.IMG.tag
gluon.html.INPUT.tag
gluon.html.LABEL.tag
gluon.html.LEGEND.tag
gluon.html.LI.tag
gluon.html.LINK.tag
gluon.html.META.tag
gluon.html.OBJECT.tag
gluon.html.OL.tag
gluon.html.OPTION.tag
gluon.html.P.tag
gluon.html.PRE.tag
gluon.html.SCRIPT.tag
gluon.html.SELECT.tag
gluon.html.SPAN.tag
gluon.html.STYLE.tag
gluon.html.TABLE.tag
gluon.html.TBODY.tag
gluon.html.TD.tag
gluon.html.TEXTAREA.tag
gluon.html.TFOOT.tag
gluon.html.TH.tag
gluon.html.THEAD.tag
gluon.html.TITLE.tag
gluon.html.TR.tag
gluon.html.TT.tag
gluon.html.UL.tag" class="py-name" href="#" onclick="return doclink('link-61', 'tag', 'link-18');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'body'</tt> </tt>
</div><a name="L449"></a><tt class="py-lineno"> 449</tt>  <tt class="py-line"> </tt>
<a name="L450"></a><tt class="py-lineno"> 450</tt>  <tt class="py-line"> </tt>
<a name="H1"></a><div id="H1-def"><a name="L451"></a><tt class="py-lineno"> 451</tt> <a class="py-toggle" href="#" id="H1-toggle" onclick="return toggle('H1');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="gluon.html.H1-class.html">H1</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="H1-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="H1-expanded"><a name="L452"></a><tt class="py-lineno"> 452</tt>  <tt class="py-line"> </tt>
<a name="L453"></a><tt class="py-lineno"> 453</tt>  <tt class="py-line">    <tt id="link-62" class="py-name"><a title="gluon.html.A.tag
gluon.html.B.tag
gluon.html.BEAUTIFY.tag
gluon.html.BODY.tag
gluon.html.BR.tag
gluon.html.CENTER.tag
gluon.html.DIV.tag
gluon.html.EM.tag
gluon.html.EMBED.tag
gluon.html.FIELDSET.tag
gluon.html.FORM.tag
gluon.html.H1.tag
gluon.html.H2.tag
gluon.html.H3.tag
gluon.html.H4.tag
gluon.html.H5.tag
gluon.html.H6.tag
gluon.html.HEAD.tag
gluon.html.HR.tag
gluon.html.HTML.tag
gluon.html.IFRAME.tag
gluon.html.IMG.tag
gluon.html.INPUT.tag
gluon.html.LABEL.tag
gluon.html.LEGEND.tag
gluon.html.LI.tag
gluon.html.LINK.tag
gluon.html.META.tag
gluon.html.OBJECT.tag
gluon.html.OL.tag
gluon.html.OPTION.tag
gluon.html.P.tag
gluon.html.PRE.tag
gluon.html.SCRIPT.tag
gluon.html.SELECT.tag
gluon.html.SPAN.tag
gluon.html.STYLE.tag
gluon.html.TABLE.tag
gluon.html.TBODY.tag
gluon.html.TD.tag
gluon.html.TEXTAREA.tag
gluon.html.TFOOT.tag
gluon.html.TH.tag
gluon.html.THEAD.tag
gluon.html.TITLE.tag
gluon.html.TR.tag
gluon.html.TT.tag
gluon.html.UL.tag" class="py-name" href="#" onclick="return doclink('link-62', 'tag', 'link-18');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'h1'</tt> </tt>
</div><a name="L454"></a><tt class="py-lineno"> 454</tt>  <tt class="py-line"> </tt>
<a name="L455"></a><tt class="py-lineno"> 455</tt>  <tt class="py-line"> </tt>
<a name="H2"></a><div id="H2-def"><a name="L456"></a><tt class="py-lineno"> 456</tt> <a class="py-toggle" href="#" id="H2-toggle" onclick="return toggle('H2');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="gluon.html.H2-class.html">H2</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="H2-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="H2-expanded"><a name="L457"></a><tt class="py-lineno"> 457</tt>  <tt class="py-line"> </tt>
<a name="L458"></a><tt class="py-lineno"> 458</tt>  <tt class="py-line">    <tt id="link-63" class="py-name"><a title="gluon.html.A.tag
gluon.html.B.tag
gluon.html.BEAUTIFY.tag
gluon.html.BODY.tag
gluon.html.BR.tag
gluon.html.CENTER.tag
gluon.html.DIV.tag
gluon.html.EM.tag
gluon.html.EMBED.tag
gluon.html.FIELDSET.tag
gluon.html.FORM.tag
gluon.html.H1.tag
gluon.html.H2.tag
gluon.html.H3.tag
gluon.html.H4.tag
gluon.html.H5.tag
gluon.html.H6.tag
gluon.html.HEAD.tag
gluon.html.HR.tag
gluon.html.HTML.tag
gluon.html.IFRAME.tag
gluon.html.IMG.tag
gluon.html.INPUT.tag
gluon.html.LABEL.tag
gluon.html.LEGEND.tag
gluon.html.LI.tag
gluon.html.LINK.tag
gluon.html.META.tag
gluon.html.OBJECT.tag
gluon.html.OL.tag
gluon.html.OPTION.tag
gluon.html.P.tag
gluon.html.PRE.tag
gluon.html.SCRIPT.tag
gluon.html.SELECT.tag
gluon.html.SPAN.tag
gluon.html.STYLE.tag
gluon.html.TABLE.tag
gluon.html.TBODY.tag
gluon.html.TD.tag
gluon.html.TEXTAREA.tag
gluon.html.TFOOT.tag
gluon.html.TH.tag
gluon.html.THEAD.tag
gluon.html.TITLE.tag
gluon.html.TR.tag
gluon.html.TT.tag
gluon.html.UL.tag" class="py-name" href="#" onclick="return doclink('link-63', 'tag', 'link-18');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'h2'</tt> </tt>
</div><a name="L459"></a><tt class="py-lineno"> 459</tt>  <tt class="py-line"> </tt>
<a name="L460"></a><tt class="py-lineno"> 460</tt>  <tt class="py-line"> </tt>
<a name="H3"></a><div id="H3-def"><a name="L461"></a><tt class="py-lineno"> 461</tt> <a class="py-toggle" href="#" id="H3-toggle" onclick="return toggle('H3');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="gluon.html.H3-class.html">H3</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="H3-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="H3-expanded"><a name="L462"></a><tt class="py-lineno"> 462</tt>  <tt class="py-line"> </tt>
<a name="L463"></a><tt class="py-lineno"> 463</tt>  <tt class="py-line">    <tt id="link-64" class="py-name"><a title="gluon.html.A.tag
gluon.html.B.tag
gluon.html.BEAUTIFY.tag
gluon.html.BODY.tag
gluon.html.BR.tag
gluon.html.CENTER.tag
gluon.html.DIV.tag
gluon.html.EM.tag
gluon.html.EMBED.tag
gluon.html.FIELDSET.tag
gluon.html.FORM.tag
gluon.html.H1.tag
gluon.html.H2.tag
gluon.html.H3.tag
gluon.html.H4.tag
gluon.html.H5.tag
gluon.html.H6.tag
gluon.html.HEAD.tag
gluon.html.HR.tag
gluon.html.HTML.tag
gluon.html.IFRAME.tag
gluon.html.IMG.tag
gluon.html.INPUT.tag
gluon.html.LABEL.tag
gluon.html.LEGEND.tag
gluon.html.LI.tag
gluon.html.LINK.tag
gluon.html.META.tag
gluon.html.OBJECT.tag
gluon.html.OL.tag
gluon.html.OPTION.tag
gluon.html.P.tag
gluon.html.PRE.tag
gluon.html.SCRIPT.tag
gluon.html.SELECT.tag
gluon.html.SPAN.tag
gluon.html.STYLE.tag
gluon.html.TABLE.tag
gluon.html.TBODY.tag
gluon.html.TD.tag
gluon.html.TEXTAREA.tag
gluon.html.TFOOT.tag
gluon.html.TH.tag
gluon.html.THEAD.tag
gluon.html.TITLE.tag
gluon.html.TR.tag
gluon.html.TT.tag
gluon.html.UL.tag" class="py-name" href="#" onclick="return doclink('link-64', 'tag', 'link-18');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'h3'</tt> </tt>
</div><a name="L464"></a><tt class="py-lineno"> 464</tt>  <tt class="py-line"> </tt>
<a name="L465"></a><tt class="py-lineno"> 465</tt>  <tt class="py-line"> </tt>
<a name="H4"></a><div id="H4-def"><a name="L466"></a><tt class="py-lineno"> 466</tt> <a class="py-toggle" href="#" id="H4-toggle" onclick="return toggle('H4');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="gluon.html.H4-class.html">H4</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="H4-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="H4-expanded"><a name="L467"></a><tt class="py-lineno"> 467</tt>  <tt class="py-line"> </tt>
<a name="L468"></a><tt class="py-lineno"> 468</tt>  <tt class="py-line">    <tt id="link-65" class="py-name"><a title="gluon.html.A.tag
gluon.html.B.tag
gluon.html.BEAUTIFY.tag
gluon.html.BODY.tag
gluon.html.BR.tag
gluon.html.CENTER.tag
gluon.html.DIV.tag
gluon.html.EM.tag
gluon.html.EMBED.tag
gluon.html.FIELDSET.tag
gluon.html.FORM.tag
gluon.html.H1.tag
gluon.html.H2.tag
gluon.html.H3.tag
gluon.html.H4.tag
gluon.html.H5.tag
gluon.html.H6.tag
gluon.html.HEAD.tag
gluon.html.HR.tag
gluon.html.HTML.tag
gluon.html.IFRAME.tag
gluon.html.IMG.tag
gluon.html.INPUT.tag
gluon.html.LABEL.tag
gluon.html.LEGEND.tag
gluon.html.LI.tag
gluon.html.LINK.tag
gluon.html.META.tag
gluon.html.OBJECT.tag
gluon.html.OL.tag
gluon.html.OPTION.tag
gluon.html.P.tag
gluon.html.PRE.tag
gluon.html.SCRIPT.tag
gluon.html.SELECT.tag
gluon.html.SPAN.tag
gluon.html.STYLE.tag
gluon.html.TABLE.tag
gluon.html.TBODY.tag
gluon.html.TD.tag
gluon.html.TEXTAREA.tag
gluon.html.TFOOT.tag
gluon.html.TH.tag
gluon.html.THEAD.tag
gluon.html.TITLE.tag
gluon.html.TR.tag
gluon.html.TT.tag
gluon.html.UL.tag" class="py-name" href="#" onclick="return doclink('link-65', 'tag', 'link-18');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'h4'</tt> </tt>
</div><a name="L469"></a><tt class="py-lineno"> 469</tt>  <tt class="py-line"> </tt>
<a name="L470"></a><tt class="py-lineno"> 470</tt>  <tt class="py-line"> </tt>
<a name="H5"></a><div id="H5-def"><a name="L471"></a><tt class="py-lineno"> 471</tt> <a class="py-toggle" href="#" id="H5-toggle" onclick="return toggle('H5');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="gluon.html.H5-class.html">H5</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="H5-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="H5-expanded"><a name="L472"></a><tt class="py-lineno"> 472</tt>  <tt class="py-line"> </tt>
<a name="L473"></a><tt class="py-lineno"> 473</tt>  <tt class="py-line">    <tt id="link-66" class="py-name"><a title="gluon.html.A.tag
gluon.html.B.tag
gluon.html.BEAUTIFY.tag
gluon.html.BODY.tag
gluon.html.BR.tag
gluon.html.CENTER.tag
gluon.html.DIV.tag
gluon.html.EM.tag
gluon.html.EMBED.tag
gluon.html.FIELDSET.tag
gluon.html.FORM.tag
gluon.html.H1.tag
gluon.html.H2.tag
gluon.html.H3.tag
gluon.html.H4.tag
gluon.html.H5.tag
gluon.html.H6.tag
gluon.html.HEAD.tag
gluon.html.HR.tag
gluon.html.HTML.tag
gluon.html.IFRAME.tag
gluon.html.IMG.tag
gluon.html.INPUT.tag
gluon.html.LABEL.tag
gluon.html.LEGEND.tag
gluon.html.LI.tag
gluon.html.LINK.tag
gluon.html.META.tag
gluon.html.OBJECT.tag
gluon.html.OL.tag
gluon.html.OPTION.tag
gluon.html.P.tag
gluon.html.PRE.tag
gluon.html.SCRIPT.tag
gluon.html.SELECT.tag
gluon.html.SPAN.tag
gluon.html.STYLE.tag
gluon.html.TABLE.tag
gluon.html.TBODY.tag
gluon.html.TD.tag
gluon.html.TEXTAREA.tag
gluon.html.TFOOT.tag
gluon.html.TH.tag
gluon.html.THEAD.tag
gluon.html.TITLE.tag
gluon.html.TR.tag
gluon.html.TT.tag
gluon.html.UL.tag" class="py-name" href="#" onclick="return doclink('link-66', 'tag', 'link-18');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'h5'</tt> </tt>
</div><a name="L474"></a><tt class="py-lineno"> 474</tt>  <tt class="py-line"> </tt>
<a name="L475"></a><tt class="py-lineno"> 475</tt>  <tt class="py-line"> </tt>
<a name="H6"></a><div id="H6-def"><a name="L476"></a><tt class="py-lineno"> 476</tt> <a class="py-toggle" href="#" id="H6-toggle" onclick="return toggle('H6');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="gluon.html.H6-class.html">H6</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="H6-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="H6-expanded"><a name="L477"></a><tt class="py-lineno"> 477</tt>  <tt class="py-line"> </tt>
<a name="L478"></a><tt class="py-lineno"> 478</tt>  <tt class="py-line">    <tt id="link-67" class="py-name"><a title="gluon.html.A.tag
gluon.html.B.tag
gluon.html.BEAUTIFY.tag
gluon.html.BODY.tag
gluon.html.BR.tag
gluon.html.CENTER.tag
gluon.html.DIV.tag
gluon.html.EM.tag
gluon.html.EMBED.tag
gluon.html.FIELDSET.tag
gluon.html.FORM.tag
gluon.html.H1.tag
gluon.html.H2.tag
gluon.html.H3.tag
gluon.html.H4.tag
gluon.html.H5.tag
gluon.html.H6.tag
gluon.html.HEAD.tag
gluon.html.HR.tag
gluon.html.HTML.tag
gluon.html.IFRAME.tag
gluon.html.IMG.tag
gluon.html.INPUT.tag
gluon.html.LABEL.tag
gluon.html.LEGEND.tag
gluon.html.LI.tag
gluon.html.LINK.tag
gluon.html.META.tag
gluon.html.OBJECT.tag
gluon.html.OL.tag
gluon.html.OPTION.tag
gluon.html.P.tag
gluon.html.PRE.tag
gluon.html.SCRIPT.tag
gluon.html.SELECT.tag
gluon.html.SPAN.tag
gluon.html.STYLE.tag
gluon.html.TABLE.tag
gluon.html.TBODY.tag
gluon.html.TD.tag
gluon.html.TEXTAREA.tag
gluon.html.TFOOT.tag
gluon.html.TH.tag
gluon.html.THEAD.tag
gluon.html.TITLE.tag
gluon.html.TR.tag
gluon.html.TT.tag
gluon.html.UL.tag" class="py-name" href="#" onclick="return doclink('link-67', 'tag', 'link-18');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'h6'</tt> </tt>
</div><a name="L479"></a><tt class="py-lineno"> 479</tt>  <tt class="py-line"> </tt>
<a name="L480"></a><tt class="py-lineno"> 480</tt>  <tt class="py-line"> </tt>
<a name="P"></a><div id="P-def"><a name="L481"></a><tt class="py-lineno"> 481</tt> <a class="py-toggle" href="#" id="P-toggle" onclick="return toggle('P');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="gluon.html.P-class.html">P</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="P-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="P-expanded"><a name="L482"></a><tt class="py-lineno"> 482</tt>  <tt class="py-line"> </tt>
<a name="L483"></a><tt class="py-lineno"> 483</tt>  <tt class="py-line">    <tt id="link-68" class="py-name"><a title="gluon.html.A.tag
gluon.html.B.tag
gluon.html.BEAUTIFY.tag
gluon.html.BODY.tag
gluon.html.BR.tag
gluon.html.CENTER.tag
gluon.html.DIV.tag
gluon.html.EM.tag
gluon.html.EMBED.tag
gluon.html.FIELDSET.tag
gluon.html.FORM.tag
gluon.html.H1.tag
gluon.html.H2.tag
gluon.html.H3.tag
gluon.html.H4.tag
gluon.html.H5.tag
gluon.html.H6.tag
gluon.html.HEAD.tag
gluon.html.HR.tag
gluon.html.HTML.tag
gluon.html.IFRAME.tag
gluon.html.IMG.tag
gluon.html.INPUT.tag
gluon.html.LABEL.tag
gluon.html.LEGEND.tag
gluon.html.LI.tag
gluon.html.LINK.tag
gluon.html.META.tag
gluon.html.OBJECT.tag
gluon.html.OL.tag
gluon.html.OPTION.tag
gluon.html.P.tag
gluon.html.PRE.tag
gluon.html.SCRIPT.tag
gluon.html.SELECT.tag
gluon.html.SPAN.tag
gluon.html.STYLE.tag
gluon.html.TABLE.tag
gluon.html.TBODY.tag
gluon.html.TD.tag
gluon.html.TEXTAREA.tag
gluon.html.TFOOT.tag
gluon.html.TH.tag
gluon.html.THEAD.tag
gluon.html.TITLE.tag
gluon.html.TR.tag
gluon.html.TT.tag
gluon.html.UL.tag" class="py-name" href="#" onclick="return doclink('link-68', 'tag', 'link-18');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'p'</tt> </tt>
<a name="L484"></a><tt class="py-lineno"> 484</tt>  <tt class="py-line"> </tt>
<a name="P.xml"></a><div id="P.xml-def"><a name="L485"></a><tt class="py-lineno"> 485</tt> <a class="py-toggle" href="#" id="P.xml-toggle" onclick="return toggle('P.xml');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="gluon.html.P-class.html#xml">xml</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="P.xml-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="P.xml-expanded"><a name="L486"></a><tt class="py-lineno"> 486</tt>  <tt class="py-line">        <tt class="py-name">text</tt> <tt class="py-op">=</tt> <tt id="link-69" class="py-name"><a title="gluon.html.DIV" class="py-name" href="#" onclick="return doclink('link-69', 'DIV', 'link-56');">DIV</a></tt><tt class="py-op">.</tt><tt id="link-70" class="py-name"><a title="gluon.html.CODE.xml
gluon.html.DIV.xml
gluon.html.FORM.xml
gluon.html.HTML.xml
gluon.html.INPUT.xml
gluon.html.P.xml
gluon.html.SCRIPT.xml
gluon.html.XML.xml
gluon.languages.lazyT.xml
gluon.sql.SQLRows.xml
gluon.tools.Recaptcha.xml" class="py-name" href="#" onclick="return doclink('link-70', 'xml', 'link-7');">xml</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt> </tt>
<a name="L487"></a><tt class="py-lineno"> 487</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'cr2br'</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
<a name="L488"></a><tt class="py-lineno"> 488</tt>  <tt class="py-line">            <tt class="py-name">text</tt> <tt class="py-op">=</tt> <tt class="py-name">text</tt><tt class="py-op">.</tt><tt id="link-71" class="py-name" targets="Function gluon.template.replace()=gluon.template-module.html#replace"><a title="gluon.template.replace" class="py-name" href="#" onclick="return doclink('link-71', 'replace', 'link-71');">replace</a></tt><tt class="py-op">(</tt><tt class="py-string">'\n'</tt><tt class="py-op">,</tt> <tt class="py-string">'&lt;br /&gt;'</tt><tt class="py-op">)</tt> </tt>
<a name="L489"></a><tt class="py-lineno"> 489</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">text</tt> </tt>
</div></div><a name="L490"></a><tt class="py-lineno"> 490</tt>  <tt class="py-line"> </tt>
<a name="L491"></a><tt class="py-lineno"> 491</tt>  <tt class="py-line"> </tt>
<a name="B"></a><div id="B-def"><a name="L492"></a><tt class="py-lineno"> 492</tt> <a class="py-toggle" href="#" id="B-toggle" onclick="return toggle('B');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="gluon.html.B-class.html">B</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="B-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="B-expanded"><a name="L493"></a><tt class="py-lineno"> 493</tt>  <tt class="py-line"> </tt>
<a name="L494"></a><tt class="py-lineno"> 494</tt>  <tt class="py-line">    <tt id="link-72" class="py-name"><a title="gluon.html.A.tag
gluon.html.B.tag
gluon.html.BEAUTIFY.tag
gluon.html.BODY.tag
gluon.html.BR.tag
gluon.html.CENTER.tag
gluon.html.DIV.tag
gluon.html.EM.tag
gluon.html.EMBED.tag
gluon.html.FIELDSET.tag
gluon.html.FORM.tag
gluon.html.H1.tag
gluon.html.H2.tag
gluon.html.H3.tag
gluon.html.H4.tag
gluon.html.H5.tag
gluon.html.H6.tag
gluon.html.HEAD.tag
gluon.html.HR.tag
gluon.html.HTML.tag
gluon.html.IFRAME.tag
gluon.html.IMG.tag
gluon.html.INPUT.tag
gluon.html.LABEL.tag
gluon.html.LEGEND.tag
gluon.html.LI.tag
gluon.html.LINK.tag
gluon.html.META.tag
gluon.html.OBJECT.tag
gluon.html.OL.tag
gluon.html.OPTION.tag
gluon.html.P.tag
gluon.html.PRE.tag
gluon.html.SCRIPT.tag
gluon.html.SELECT.tag
gluon.html.SPAN.tag
gluon.html.STYLE.tag
gluon.html.TABLE.tag
gluon.html.TBODY.tag
gluon.html.TD.tag
gluon.html.TEXTAREA.tag
gluon.html.TFOOT.tag
gluon.html.TH.tag
gluon.html.THEAD.tag
gluon.html.TITLE.tag
gluon.html.TR.tag
gluon.html.TT.tag
gluon.html.UL.tag" class="py-name" href="#" onclick="return doclink('link-72', 'tag', 'link-18');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'b'</tt> </tt>
</div><a name="L495"></a><tt class="py-lineno"> 495</tt>  <tt class="py-line"> </tt>
<a name="L496"></a><tt class="py-lineno"> 496</tt>  <tt class="py-line"> </tt>
<a name="BR"></a><div id="BR-def"><a name="L497"></a><tt class="py-lineno"> 497</tt> <a class="py-toggle" href="#" id="BR-toggle" onclick="return toggle('BR');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="gluon.html.BR-class.html">BR</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="BR-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="BR-expanded"><a name="L498"></a><tt class="py-lineno"> 498</tt>  <tt class="py-line"> </tt>
<a name="L499"></a><tt class="py-lineno"> 499</tt>  <tt class="py-line">    <tt id="link-73" class="py-name"><a title="gluon.html.A.tag
gluon.html.B.tag
gluon.html.BEAUTIFY.tag
gluon.html.BODY.tag
gluon.html.BR.tag
gluon.html.CENTER.tag
gluon.html.DIV.tag
gluon.html.EM.tag
gluon.html.EMBED.tag
gluon.html.FIELDSET.tag
gluon.html.FORM.tag
gluon.html.H1.tag
gluon.html.H2.tag
gluon.html.H3.tag
gluon.html.H4.tag
gluon.html.H5.tag
gluon.html.H6.tag
gluon.html.HEAD.tag
gluon.html.HR.tag
gluon.html.HTML.tag
gluon.html.IFRAME.tag
gluon.html.IMG.tag
gluon.html.INPUT.tag
gluon.html.LABEL.tag
gluon.html.LEGEND.tag
gluon.html.LI.tag
gluon.html.LINK.tag
gluon.html.META.tag
gluon.html.OBJECT.tag
gluon.html.OL.tag
gluon.html.OPTION.tag
gluon.html.P.tag
gluon.html.PRE.tag
gluon.html.SCRIPT.tag
gluon.html.SELECT.tag
gluon.html.SPAN.tag
gluon.html.STYLE.tag
gluon.html.TABLE.tag
gluon.html.TBODY.tag
gluon.html.TD.tag
gluon.html.TEXTAREA.tag
gluon.html.TFOOT.tag
gluon.html.TH.tag
gluon.html.THEAD.tag
gluon.html.TITLE.tag
gluon.html.TR.tag
gluon.html.TT.tag
gluon.html.UL.tag" class="py-name" href="#" onclick="return doclink('link-73', 'tag', 'link-18');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'br/'</tt> </tt>
</div><a name="L500"></a><tt class="py-lineno"> 500</tt>  <tt class="py-line"> </tt>
<a name="L501"></a><tt class="py-lineno"> 501</tt>  <tt class="py-line"> </tt>
<a name="HR"></a><div id="HR-def"><a name="L502"></a><tt class="py-lineno"> 502</tt> <a class="py-toggle" href="#" id="HR-toggle" onclick="return toggle('HR');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="gluon.html.HR-class.html">HR</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="HR-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="HR-expanded"><a name="L503"></a><tt class="py-lineno"> 503</tt>  <tt class="py-line"> </tt>
<a name="L504"></a><tt class="py-lineno"> 504</tt>  <tt class="py-line">    <tt id="link-74" class="py-name"><a title="gluon.html.A.tag
gluon.html.B.tag
gluon.html.BEAUTIFY.tag
gluon.html.BODY.tag
gluon.html.BR.tag
gluon.html.CENTER.tag
gluon.html.DIV.tag
gluon.html.EM.tag
gluon.html.EMBED.tag
gluon.html.FIELDSET.tag
gluon.html.FORM.tag
gluon.html.H1.tag
gluon.html.H2.tag
gluon.html.H3.tag
gluon.html.H4.tag
gluon.html.H5.tag
gluon.html.H6.tag
gluon.html.HEAD.tag
gluon.html.HR.tag
gluon.html.HTML.tag
gluon.html.IFRAME.tag
gluon.html.IMG.tag
gluon.html.INPUT.tag
gluon.html.LABEL.tag
gluon.html.LEGEND.tag
gluon.html.LI.tag
gluon.html.LINK.tag
gluon.html.META.tag
gluon.html.OBJECT.tag
gluon.html.OL.tag
gluon.html.OPTION.tag
gluon.html.P.tag
gluon.html.PRE.tag
gluon.html.SCRIPT.tag
gluon.html.SELECT.tag
gluon.html.SPAN.tag
gluon.html.STYLE.tag
gluon.html.TABLE.tag
gluon.html.TBODY.tag
gluon.html.TD.tag
gluon.html.TEXTAREA.tag
gluon.html.TFOOT.tag
gluon.html.TH.tag
gluon.html.THEAD.tag
gluon.html.TITLE.tag
gluon.html.TR.tag
gluon.html.TT.tag
gluon.html.UL.tag" class="py-name" href="#" onclick="return doclink('link-74', 'tag', 'link-18');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'hr/'</tt> </tt>
</div><a name="L505"></a><tt class="py-lineno"> 505</tt>  <tt class="py-line"> </tt>
<a name="L506"></a><tt class="py-lineno"> 506</tt>  <tt class="py-line"> </tt>
<a name="A"></a><div id="A-def"><a name="L507"></a><tt class="py-lineno"> 507</tt> <a class="py-toggle" href="#" id="A-toggle" onclick="return toggle('A');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="gluon.html.A-class.html">A</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="A-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="A-expanded"><a name="L508"></a><tt class="py-lineno"> 508</tt>  <tt class="py-line"> </tt>
<a name="L509"></a><tt class="py-lineno"> 509</tt>  <tt class="py-line">    <tt id="link-75" class="py-name"><a title="gluon.html.A.tag
gluon.html.B.tag
gluon.html.BEAUTIFY.tag
gluon.html.BODY.tag
gluon.html.BR.tag
gluon.html.CENTER.tag
gluon.html.DIV.tag
gluon.html.EM.tag
gluon.html.EMBED.tag
gluon.html.FIELDSET.tag
gluon.html.FORM.tag
gluon.html.H1.tag
gluon.html.H2.tag
gluon.html.H3.tag
gluon.html.H4.tag
gluon.html.H5.tag
gluon.html.H6.tag
gluon.html.HEAD.tag
gluon.html.HR.tag
gluon.html.HTML.tag
gluon.html.IFRAME.tag
gluon.html.IMG.tag
gluon.html.INPUT.tag
gluon.html.LABEL.tag
gluon.html.LEGEND.tag
gluon.html.LI.tag
gluon.html.LINK.tag
gluon.html.META.tag
gluon.html.OBJECT.tag
gluon.html.OL.tag
gluon.html.OPTION.tag
gluon.html.P.tag
gluon.html.PRE.tag
gluon.html.SCRIPT.tag
gluon.html.SELECT.tag
gluon.html.SPAN.tag
gluon.html.STYLE.tag
gluon.html.TABLE.tag
gluon.html.TBODY.tag
gluon.html.TD.tag
gluon.html.TEXTAREA.tag
gluon.html.TFOOT.tag
gluon.html.TH.tag
gluon.html.THEAD.tag
gluon.html.TITLE.tag
gluon.html.TR.tag
gluon.html.TT.tag
gluon.html.UL.tag" class="py-name" href="#" onclick="return doclink('link-75', 'tag', 'link-18');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'a'</tt> </tt>
</div><a name="L510"></a><tt class="py-lineno"> 510</tt>  <tt class="py-line"> </tt>
<a name="L511"></a><tt class="py-lineno"> 511</tt>  <tt class="py-line"> </tt>
<a name="EM"></a><div id="EM-def"><a name="L512"></a><tt class="py-lineno"> 512</tt> <a class="py-toggle" href="#" id="EM-toggle" onclick="return toggle('EM');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="gluon.html.EM-class.html">EM</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="EM-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="EM-expanded"><a name="L513"></a><tt class="py-lineno"> 513</tt>  <tt class="py-line"> </tt>
<a name="L514"></a><tt class="py-lineno"> 514</tt>  <tt class="py-line">    <tt id="link-76" class="py-name"><a title="gluon.html.A.tag
gluon.html.B.tag
gluon.html.BEAUTIFY.tag
gluon.html.BODY.tag
gluon.html.BR.tag
gluon.html.CENTER.tag
gluon.html.DIV.tag
gluon.html.EM.tag
gluon.html.EMBED.tag
gluon.html.FIELDSET.tag
gluon.html.FORM.tag
gluon.html.H1.tag
gluon.html.H2.tag
gluon.html.H3.tag
gluon.html.H4.tag
gluon.html.H5.tag
gluon.html.H6.tag
gluon.html.HEAD.tag
gluon.html.HR.tag
gluon.html.HTML.tag
gluon.html.IFRAME.tag
gluon.html.IMG.tag
gluon.html.INPUT.tag
gluon.html.LABEL.tag
gluon.html.LEGEND.tag
gluon.html.LI.tag
gluon.html.LINK.tag
gluon.html.META.tag
gluon.html.OBJECT.tag
gluon.html.OL.tag
gluon.html.OPTION.tag
gluon.html.P.tag
gluon.html.PRE.tag
gluon.html.SCRIPT.tag
gluon.html.SELECT.tag
gluon.html.SPAN.tag
gluon.html.STYLE.tag
gluon.html.TABLE.tag
gluon.html.TBODY.tag
gluon.html.TD.tag
gluon.html.TEXTAREA.tag
gluon.html.TFOOT.tag
gluon.html.TH.tag
gluon.html.THEAD.tag
gluon.html.TITLE.tag
gluon.html.TR.tag
gluon.html.TT.tag
gluon.html.UL.tag" class="py-name" href="#" onclick="return doclink('link-76', 'tag', 'link-18');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'em'</tt> </tt>
</div><a name="L515"></a><tt class="py-lineno"> 515</tt>  <tt class="py-line"> </tt>
<a name="L516"></a><tt class="py-lineno"> 516</tt>  <tt class="py-line"> </tt>
<a name="EMBED"></a><div id="EMBED-def"><a name="L517"></a><tt class="py-lineno"> 517</tt> <a class="py-toggle" href="#" id="EMBED-toggle" onclick="return toggle('EMBED');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="gluon.html.EMBED-class.html">EMBED</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="EMBED-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="EMBED-expanded"><a name="L518"></a><tt class="py-lineno"> 518</tt>  <tt class="py-line"> </tt>
<a name="L519"></a><tt class="py-lineno"> 519</tt>  <tt class="py-line">    <tt id="link-77" class="py-name"><a title="gluon.html.A.tag
gluon.html.B.tag
gluon.html.BEAUTIFY.tag
gluon.html.BODY.tag
gluon.html.BR.tag
gluon.html.CENTER.tag
gluon.html.DIV.tag
gluon.html.EM.tag
gluon.html.EMBED.tag
gluon.html.FIELDSET.tag
gluon.html.FORM.tag
gluon.html.H1.tag
gluon.html.H2.tag
gluon.html.H3.tag
gluon.html.H4.tag
gluon.html.H5.tag
gluon.html.H6.tag
gluon.html.HEAD.tag
gluon.html.HR.tag
gluon.html.HTML.tag
gluon.html.IFRAME.tag
gluon.html.IMG.tag
gluon.html.INPUT.tag
gluon.html.LABEL.tag
gluon.html.LEGEND.tag
gluon.html.LI.tag
gluon.html.LINK.tag
gluon.html.META.tag
gluon.html.OBJECT.tag
gluon.html.OL.tag
gluon.html.OPTION.tag
gluon.html.P.tag
gluon.html.PRE.tag
gluon.html.SCRIPT.tag
gluon.html.SELECT.tag
gluon.html.SPAN.tag
gluon.html.STYLE.tag
gluon.html.TABLE.tag
gluon.html.TBODY.tag
gluon.html.TD.tag
gluon.html.TEXTAREA.tag
gluon.html.TFOOT.tag
gluon.html.TH.tag
gluon.html.THEAD.tag
gluon.html.TITLE.tag
gluon.html.TR.tag
gluon.html.TT.tag
gluon.html.UL.tag" class="py-name" href="#" onclick="return doclink('link-77', 'tag', 'link-18');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'embed/'</tt> </tt>
</div><a name="L520"></a><tt class="py-lineno"> 520</tt>  <tt class="py-line"> </tt>
<a name="L521"></a><tt class="py-lineno"> 521</tt>  <tt class="py-line"> </tt>
<a name="TT"></a><div id="TT-def"><a name="L522"></a><tt class="py-lineno"> 522</tt> <a class="py-toggle" href="#" id="TT-toggle" onclick="return toggle('TT');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="gluon.html.TT-class.html">TT</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="TT-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="TT-expanded"><a name="L523"></a><tt class="py-lineno"> 523</tt>  <tt class="py-line"> </tt>
<a name="L524"></a><tt class="py-lineno"> 524</tt>  <tt class="py-line">    <tt id="link-78" class="py-name"><a title="gluon.html.A.tag
gluon.html.B.tag
gluon.html.BEAUTIFY.tag
gluon.html.BODY.tag
gluon.html.BR.tag
gluon.html.CENTER.tag
gluon.html.DIV.tag
gluon.html.EM.tag
gluon.html.EMBED.tag
gluon.html.FIELDSET.tag
gluon.html.FORM.tag
gluon.html.H1.tag
gluon.html.H2.tag
gluon.html.H3.tag
gluon.html.H4.tag
gluon.html.H5.tag
gluon.html.H6.tag
gluon.html.HEAD.tag
gluon.html.HR.tag
gluon.html.HTML.tag
gluon.html.IFRAME.tag
gluon.html.IMG.tag
gluon.html.INPUT.tag
gluon.html.LABEL.tag
gluon.html.LEGEND.tag
gluon.html.LI.tag
gluon.html.LINK.tag
gluon.html.META.tag
gluon.html.OBJECT.tag
gluon.html.OL.tag
gluon.html.OPTION.tag
gluon.html.P.tag
gluon.html.PRE.tag
gluon.html.SCRIPT.tag
gluon.html.SELECT.tag
gluon.html.SPAN.tag
gluon.html.STYLE.tag
gluon.html.TABLE.tag
gluon.html.TBODY.tag
gluon.html.TD.tag
gluon.html.TEXTAREA.tag
gluon.html.TFOOT.tag
gluon.html.TH.tag
gluon.html.THEAD.tag
gluon.html.TITLE.tag
gluon.html.TR.tag
gluon.html.TT.tag
gluon.html.UL.tag" class="py-name" href="#" onclick="return doclink('link-78', 'tag', 'link-18');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'tt'</tt> </tt>
</div><a name="L525"></a><tt class="py-lineno"> 525</tt>  <tt class="py-line"> </tt>
<a name="L526"></a><tt class="py-lineno"> 526</tt>  <tt class="py-line"> </tt>
<a name="PRE"></a><div id="PRE-def"><a name="L527"></a><tt class="py-lineno"> 527</tt> <a class="py-toggle" href="#" id="PRE-toggle" onclick="return toggle('PRE');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="gluon.html.PRE-class.html">PRE</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="PRE-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="PRE-expanded"><a name="L528"></a><tt class="py-lineno"> 528</tt>  <tt class="py-line"> </tt>
<a name="L529"></a><tt class="py-lineno"> 529</tt>  <tt class="py-line">    <tt id="link-79" class="py-name"><a title="gluon.html.A.tag
gluon.html.B.tag
gluon.html.BEAUTIFY.tag
gluon.html.BODY.tag
gluon.html.BR.tag
gluon.html.CENTER.tag
gluon.html.DIV.tag
gluon.html.EM.tag
gluon.html.EMBED.tag
gluon.html.FIELDSET.tag
gluon.html.FORM.tag
gluon.html.H1.tag
gluon.html.H2.tag
gluon.html.H3.tag
gluon.html.H4.tag
gluon.html.H5.tag
gluon.html.H6.tag
gluon.html.HEAD.tag
gluon.html.HR.tag
gluon.html.HTML.tag
gluon.html.IFRAME.tag
gluon.html.IMG.tag
gluon.html.INPUT.tag
gluon.html.LABEL.tag
gluon.html.LEGEND.tag
gluon.html.LI.tag
gluon.html.LINK.tag
gluon.html.META.tag
gluon.html.OBJECT.tag
gluon.html.OL.tag
gluon.html.OPTION.tag
gluon.html.P.tag
gluon.html.PRE.tag
gluon.html.SCRIPT.tag
gluon.html.SELECT.tag
gluon.html.SPAN.tag
gluon.html.STYLE.tag
gluon.html.TABLE.tag
gluon.html.TBODY.tag
gluon.html.TD.tag
gluon.html.TEXTAREA.tag
gluon.html.TFOOT.tag
gluon.html.TH.tag
gluon.html.THEAD.tag
gluon.html.TITLE.tag
gluon.html.TR.tag
gluon.html.TT.tag
gluon.html.UL.tag" class="py-name" href="#" onclick="return doclink('link-79', 'tag', 'link-18');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'pre'</tt> </tt>
</div><a name="L530"></a><tt class="py-lineno"> 530</tt>  <tt class="py-line"> </tt>
<a name="L531"></a><tt class="py-lineno"> 531</tt>  <tt class="py-line"> </tt>
<a name="CENTER"></a><div id="CENTER-def"><a name="L532"></a><tt class="py-lineno"> 532</tt> <a class="py-toggle" href="#" id="CENTER-toggle" onclick="return toggle('CENTER');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="gluon.html.CENTER-class.html">CENTER</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="CENTER-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="CENTER-expanded"><a name="L533"></a><tt class="py-lineno"> 533</tt>  <tt class="py-line"> </tt>
<a name="L534"></a><tt class="py-lineno"> 534</tt>  <tt class="py-line">    <tt id="link-80" class="py-name"><a title="gluon.html.A.tag
gluon.html.B.tag
gluon.html.BEAUTIFY.tag
gluon.html.BODY.tag
gluon.html.BR.tag
gluon.html.CENTER.tag
gluon.html.DIV.tag
gluon.html.EM.tag
gluon.html.EMBED.tag
gluon.html.FIELDSET.tag
gluon.html.FORM.tag
gluon.html.H1.tag
gluon.html.H2.tag
gluon.html.H3.tag
gluon.html.H4.tag
gluon.html.H5.tag
gluon.html.H6.tag
gluon.html.HEAD.tag
gluon.html.HR.tag
gluon.html.HTML.tag
gluon.html.IFRAME.tag
gluon.html.IMG.tag
gluon.html.INPUT.tag
gluon.html.LABEL.tag
gluon.html.LEGEND.tag
gluon.html.LI.tag
gluon.html.LINK.tag
gluon.html.META.tag
gluon.html.OBJECT.tag
gluon.html.OL.tag
gluon.html.OPTION.tag
gluon.html.P.tag
gluon.html.PRE.tag
gluon.html.SCRIPT.tag
gluon.html.SELECT.tag
gluon.html.SPAN.tag
gluon.html.STYLE.tag
gluon.html.TABLE.tag
gluon.html.TBODY.tag
gluon.html.TD.tag
gluon.html.TEXTAREA.tag
gluon.html.TFOOT.tag
gluon.html.TH.tag
gluon.html.THEAD.tag
gluon.html.TITLE.tag
gluon.html.TR.tag
gluon.html.TT.tag
gluon.html.UL.tag" class="py-name" href="#" onclick="return doclink('link-80', 'tag', 'link-18');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'center'</tt> </tt>
</div><a name="L535"></a><tt class="py-lineno"> 535</tt>  <tt class="py-line"> </tt>
<a name="L536"></a><tt class="py-lineno"> 536</tt>  <tt class="py-line"> </tt>
<a name="CODE"></a><div id="CODE-def"><a name="L537"></a><tt class="py-lineno"> 537</tt> <a class="py-toggle" href="#" id="CODE-toggle" onclick="return toggle('CODE');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="gluon.html.CODE-class.html">CODE</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="CODE-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="CODE-expanded"><a name="L538"></a><tt class="py-lineno"> 538</tt>  <tt class="py-line"> </tt>
<a name="L539"></a><tt class="py-lineno"> 539</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
<a name="L540"></a><tt class="py-lineno"> 540</tt>  <tt class="py-line"><tt class="py-docstring">    displays code in HTML with syntax highlighting. Exmaple:</tt> </tt>
<a name="L541"></a><tt class="py-lineno"> 541</tt>  <tt class="py-line"><tt class="py-docstring">   </tt> </tt>
<a name="L542"></a><tt class="py-lineno"> 542</tt>  <tt class="py-line"><tt class="py-docstring">    {{=CODE(\"print 'hello world'\",language='python',link=None,counter=1,styles={})}}</tt> </tt>
<a name="L543"></a><tt class="py-lineno"> 543</tt>  <tt class="py-line"><tt class="py-docstring">    </tt> </tt>
<a name="L544"></a><tt class="py-lineno"> 544</tt>  <tt class="py-line"><tt class="py-docstring">    supported languages are \"python\", \"html_plain\", \"c\", \"cpp\", \"web2py\", \"html\". </tt> </tt>
<a name="L545"></a><tt class="py-lineno"> 545</tt>  <tt class="py-line"><tt class="py-docstring">    The \"html\" language interprets {{ and }} tags as \"web2py\" code, \"html_plain\" doesn't.</tt> </tt>
<a name="L546"></a><tt class="py-lineno"> 546</tt>  <tt class="py-line"><tt class="py-docstring">    </tt> </tt>
<a name="L547"></a><tt class="py-lineno"> 547</tt>  <tt class="py-line"><tt class="py-docstring">    if a link='/exmaples/global/vars/' is provided web2py keywords are linked to the online docs.</tt> </tt>
<a name="L548"></a><tt class="py-lineno"> 548</tt>  <tt class="py-line"><tt class="py-docstring">    the counter is used for line numbering, counter can be None or a prompt string.</tt> </tt>
<a name="L549"></a><tt class="py-lineno"> 549</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
<a name="L550"></a><tt class="py-lineno"> 550</tt>  <tt class="py-line"> </tt>
<a name="CODE.xml"></a><div id="CODE.xml-def"><a name="L551"></a><tt class="py-lineno"> 551</tt> <a class="py-toggle" href="#" id="CODE.xml-toggle" onclick="return toggle('CODE.xml');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="gluon.html.CODE-class.html#xml">xml</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="CODE.xml-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="CODE.xml-expanded"><a name="L552"></a><tt class="py-lineno"> 552</tt>  <tt class="py-line">        <tt class="py-name">language</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'language'</tt><tt class="py-op">]</tt> <tt class="py-keyword">or</tt> <tt class="py-string">'PYTHON'</tt> </tt>
<a name="L553"></a><tt class="py-lineno"> 553</tt>  <tt class="py-line">        <tt class="py-name">link</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'link'</tt><tt class="py-op">]</tt> </tt>
<a name="L554"></a><tt class="py-lineno"> 554</tt>  <tt class="py-line">        <tt class="py-name">counter</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">attributes</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-string">'counter'</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
<a name="L555"></a><tt class="py-lineno"> 555</tt>  <tt class="py-line">        <tt class="py-name">styles</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'styles'</tt><tt class="py-op">]</tt> <tt class="py-keyword">or</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
<a name="L556"></a><tt class="py-lineno"> 556</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt id="link-81" class="py-name"><a title="gluon.highlight
gluon.highlight.Highlighter.highlight
gluon.highlight.highlight" class="py-name" href="#" onclick="return doclink('link-81', 'highlight', 'link-3');">highlight</a></tt><tt class="py-op">(</tt> </tt>
<a name="L557"></a><tt class="py-lineno"> 557</tt>  <tt class="py-line">            <tt class="py-string">''</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">components</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
<a name="L558"></a><tt class="py-lineno"> 558</tt>  <tt class="py-line">            <tt class="py-name">language</tt><tt class="py-op">=</tt><tt class="py-name">language</tt><tt class="py-op">,</tt> </tt>
<a name="L559"></a><tt class="py-lineno"> 559</tt>  <tt class="py-line">            <tt class="py-name">link</tt><tt class="py-op">=</tt><tt class="py-name">link</tt><tt class="py-op">,</tt> </tt>
<a name="L560"></a><tt class="py-lineno"> 560</tt>  <tt class="py-line">            <tt class="py-name">counter</tt><tt class="py-op">=</tt><tt class="py-name">counter</tt><tt class="py-op">,</tt> </tt>
<a name="L561"></a><tt class="py-lineno"> 561</tt>  <tt class="py-line">            <tt class="py-name">styles</tt><tt class="py-op">=</tt><tt class="py-name">styles</tt><tt class="py-op">,</tt> </tt>
<a name="L562"></a><tt class="py-lineno"> 562</tt>  <tt class="py-line">            <tt class="py-name">attributes</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">attributes</tt><tt class="py-op">,</tt> </tt>
<a name="L563"></a><tt class="py-lineno"> 563</tt>  <tt class="py-line">            <tt class="py-op">)</tt> </tt>
</div></div><a name="L564"></a><tt class="py-lineno"> 564</tt>  <tt class="py-line"> </tt>
<a name="L565"></a><tt class="py-lineno"> 565</tt>  <tt class="py-line"> </tt>
<a name="LABEL"></a><div id="LABEL-def"><a name="L566"></a><tt class="py-lineno"> 566</tt> <a class="py-toggle" href="#" id="LABEL-toggle" onclick="return toggle('LABEL');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="gluon.html.LABEL-class.html">LABEL</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="LABEL-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="LABEL-expanded"><a name="L567"></a><tt class="py-lineno"> 567</tt>  <tt class="py-line"> </tt>
<a name="L568"></a><tt class="py-lineno"> 568</tt>  <tt class="py-line">    <tt id="link-82" class="py-name"><a title="gluon.html.A.tag
gluon.html.B.tag
gluon.html.BEAUTIFY.tag
gluon.html.BODY.tag
gluon.html.BR.tag
gluon.html.CENTER.tag
gluon.html.DIV.tag
gluon.html.EM.tag
gluon.html.EMBED.tag
gluon.html.FIELDSET.tag
gluon.html.FORM.tag
gluon.html.H1.tag
gluon.html.H2.tag
gluon.html.H3.tag
gluon.html.H4.tag
gluon.html.H5.tag
gluon.html.H6.tag
gluon.html.HEAD.tag
gluon.html.HR.tag
gluon.html.HTML.tag
gluon.html.IFRAME.tag
gluon.html.IMG.tag
gluon.html.INPUT.tag
gluon.html.LABEL.tag
gluon.html.LEGEND.tag
gluon.html.LI.tag
gluon.html.LINK.tag
gluon.html.META.tag
gluon.html.OBJECT.tag
gluon.html.OL.tag
gluon.html.OPTION.tag
gluon.html.P.tag
gluon.html.PRE.tag
gluon.html.SCRIPT.tag
gluon.html.SELECT.tag
gluon.html.SPAN.tag
gluon.html.STYLE.tag
gluon.html.TABLE.tag
gluon.html.TBODY.tag
gluon.html.TD.tag
gluon.html.TEXTAREA.tag
gluon.html.TFOOT.tag
gluon.html.TH.tag
gluon.html.THEAD.tag
gluon.html.TITLE.tag
gluon.html.TR.tag
gluon.html.TT.tag
gluon.html.UL.tag" class="py-name" href="#" onclick="return doclink('link-82', 'tag', 'link-18');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'label'</tt> </tt>
</div><a name="L569"></a><tt class="py-lineno"> 569</tt>  <tt class="py-line"> </tt>
<a name="L570"></a><tt class="py-lineno"> 570</tt>  <tt class="py-line"> </tt>
<a name="LI"></a><div id="LI-def"><a name="L571"></a><tt class="py-lineno"> 571</tt> <a class="py-toggle" href="#" id="LI-toggle" onclick="return toggle('LI');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="gluon.html.LI-class.html">LI</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="LI-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="LI-expanded"><a name="L572"></a><tt class="py-lineno"> 572</tt>  <tt class="py-line"> </tt>
<a name="L573"></a><tt class="py-lineno"> 573</tt>  <tt class="py-line">    <tt id="link-83" class="py-name"><a title="gluon.html.A.tag
gluon.html.B.tag
gluon.html.BEAUTIFY.tag
gluon.html.BODY.tag
gluon.html.BR.tag
gluon.html.CENTER.tag
gluon.html.DIV.tag
gluon.html.EM.tag
gluon.html.EMBED.tag
gluon.html.FIELDSET.tag
gluon.html.FORM.tag
gluon.html.H1.tag
gluon.html.H2.tag
gluon.html.H3.tag
gluon.html.H4.tag
gluon.html.H5.tag
gluon.html.H6.tag
gluon.html.HEAD.tag
gluon.html.HR.tag
gluon.html.HTML.tag
gluon.html.IFRAME.tag
gluon.html.IMG.tag
gluon.html.INPUT.tag
gluon.html.LABEL.tag
gluon.html.LEGEND.tag
gluon.html.LI.tag
gluon.html.LINK.tag
gluon.html.META.tag
gluon.html.OBJECT.tag
gluon.html.OL.tag
gluon.html.OPTION.tag
gluon.html.P.tag
gluon.html.PRE.tag
gluon.html.SCRIPT.tag
gluon.html.SELECT.tag
gluon.html.SPAN.tag
gluon.html.STYLE.tag
gluon.html.TABLE.tag
gluon.html.TBODY.tag
gluon.html.TD.tag
gluon.html.TEXTAREA.tag
gluon.html.TFOOT.tag
gluon.html.TH.tag
gluon.html.THEAD.tag
gluon.html.TITLE.tag
gluon.html.TR.tag
gluon.html.TT.tag
gluon.html.UL.tag" class="py-name" href="#" onclick="return doclink('link-83', 'tag', 'link-18');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'li'</tt> </tt>
</div><a name="L574"></a><tt class="py-lineno"> 574</tt>  <tt class="py-line"> </tt>
<a name="L575"></a><tt class="py-lineno"> 575</tt>  <tt class="py-line"> </tt>
<a name="UL"></a><div id="UL-def"><a name="L576"></a><tt class="py-lineno"> 576</tt> <a class="py-toggle" href="#" id="UL-toggle" onclick="return toggle('UL');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="gluon.html.UL-class.html">UL</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="UL-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="UL-expanded"><a name="L577"></a><tt class="py-lineno"> 577</tt>  <tt class="py-line"> </tt>
<a name="L578"></a><tt class="py-lineno"> 578</tt>  <tt class="py-line">    <tt id="link-84" class="py-name"><a title="gluon.html.A.tag
gluon.html.B.tag
gluon.html.BEAUTIFY.tag
gluon.html.BODY.tag
gluon.html.BR.tag
gluon.html.CENTER.tag
gluon.html.DIV.tag
gluon.html.EM.tag
gluon.html.EMBED.tag
gluon.html.FIELDSET.tag
gluon.html.FORM.tag
gluon.html.H1.tag
gluon.html.H2.tag
gluon.html.H3.tag
gluon.html.H4.tag
gluon.html.H5.tag
gluon.html.H6.tag
gluon.html.HEAD.tag
gluon.html.HR.tag
gluon.html.HTML.tag
gluon.html.IFRAME.tag
gluon.html.IMG.tag
gluon.html.INPUT.tag
gluon.html.LABEL.tag
gluon.html.LEGEND.tag
gluon.html.LI.tag
gluon.html.LINK.tag
gluon.html.META.tag
gluon.html.OBJECT.tag
gluon.html.OL.tag
gluon.html.OPTION.tag
gluon.html.P.tag
gluon.html.PRE.tag
gluon.html.SCRIPT.tag
gluon.html.SELECT.tag
gluon.html.SPAN.tag
gluon.html.STYLE.tag
gluon.html.TABLE.tag
gluon.html.TBODY.tag
gluon.html.TD.tag
gluon.html.TEXTAREA.tag
gluon.html.TFOOT.tag
gluon.html.TH.tag
gluon.html.THEAD.tag
gluon.html.TITLE.tag
gluon.html.TR.tag
gluon.html.TT.tag
gluon.html.UL.tag" class="py-name" href="#" onclick="return doclink('link-84', 'tag', 'link-18');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'ul'</tt> </tt>
<a name="L579"></a><tt class="py-lineno"> 579</tt>  <tt class="py-line"> </tt>
<a name="UL._fixup"></a><div id="UL._fixup-def"><a name="L580"></a><tt class="py-lineno"> 580</tt> <a class="py-toggle" href="#" id="UL._fixup-toggle" onclick="return toggle('UL._fixup');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="gluon.html.UL-class.html#_fixup">_fixup</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="UL._fixup-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="UL._fixup-expanded"><a name="L581"></a><tt class="py-lineno"> 581</tt>  <tt class="py-line">        <tt class="py-name">components</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
<a name="L582"></a><tt class="py-lineno"> 582</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">components</tt><tt class="py-op">:</tt> </tt>
<a name="L583"></a><tt class="py-lineno"> 583</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">,</tt> <tt id="link-85" class="py-name" targets="Class gluon.html.LI=gluon.html.LI-class.html"><a title="gluon.html.LI" class="py-name" href="#" onclick="return doclink('link-85', 'LI', 'link-85');">LI</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L584"></a><tt class="py-lineno"> 584</tt>  <tt class="py-line">                <tt class="py-name">components</tt><tt class="py-op">.</tt><tt id="link-86" class="py-name"><a title="gluon.html.DIV.append" class="py-name" href="#" onclick="return doclink('link-86', 'append', 'link-23');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">)</tt> </tt>
<a name="L585"></a><tt class="py-lineno"> 585</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
<a name="L586"></a><tt class="py-lineno"> 586</tt>  <tt class="py-line">                <tt class="py-name">components</tt><tt class="py-op">.</tt><tt id="link-87" class="py-name"><a title="gluon.html.DIV.append" class="py-name" href="#" onclick="return doclink('link-87', 'append', 'link-23');">append</a></tt><tt class="py-op">(</tt><tt id="link-88" class="py-name"><a title="gluon.html.LI" class="py-name" href="#" onclick="return doclink('link-88', 'LI', 'link-85');">LI</a></tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L587"></a><tt class="py-lineno"> 587</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">components</tt> <tt class="py-op">=</tt> <tt class="py-name">components</tt> </tt>
</div></div><a name="L588"></a><tt class="py-lineno"> 588</tt>  <tt class="py-line"> </tt>
<a name="L589"></a><tt class="py-lineno"> 589</tt>  <tt class="py-line"> </tt>
<a name="OL"></a><div id="OL-def"><a name="L590"></a><tt class="py-lineno"> 590</tt> <a class="py-toggle" href="#" id="OL-toggle" onclick="return toggle('OL');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="gluon.html.OL-class.html">OL</a><tt class="py-op">(</tt><tt class="py-base-class">UL</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="OL-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="OL-expanded"><a name="L591"></a><tt class="py-lineno"> 591</tt>  <tt class="py-line"> </tt>
<a name="L592"></a><tt class="py-lineno"> 592</tt>  <tt class="py-line">    <tt id="link-89" class="py-name"><a title="gluon.html.A.tag
gluon.html.B.tag
gluon.html.BEAUTIFY.tag
gluon.html.BODY.tag
gluon.html.BR.tag
gluon.html.CENTER.tag
gluon.html.DIV.tag
gluon.html.EM.tag
gluon.html.EMBED.tag
gluon.html.FIELDSET.tag
gluon.html.FORM.tag
gluon.html.H1.tag
gluon.html.H2.tag
gluon.html.H3.tag
gluon.html.H4.tag
gluon.html.H5.tag
gluon.html.H6.tag
gluon.html.HEAD.tag
gluon.html.HR.tag
gluon.html.HTML.tag
gluon.html.IFRAME.tag
gluon.html.IMG.tag
gluon.html.INPUT.tag
gluon.html.LABEL.tag
gluon.html.LEGEND.tag
gluon.html.LI.tag
gluon.html.LINK.tag
gluon.html.META.tag
gluon.html.OBJECT.tag
gluon.html.OL.tag
gluon.html.OPTION.tag
gluon.html.P.tag
gluon.html.PRE.tag
gluon.html.SCRIPT.tag
gluon.html.SELECT.tag
gluon.html.SPAN.tag
gluon.html.STYLE.tag
gluon.html.TABLE.tag
gluon.html.TBODY.tag
gluon.html.TD.tag
gluon.html.TEXTAREA.tag
gluon.html.TFOOT.tag
gluon.html.TH.tag
gluon.html.THEAD.tag
gluon.html.TITLE.tag
gluon.html.TR.tag
gluon.html.TT.tag
gluon.html.UL.tag" class="py-name" href="#" onclick="return doclink('link-89', 'tag', 'link-18');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'ol'</tt> </tt>
</div><a name="L593"></a><tt class="py-lineno"> 593</tt>  <tt class="py-line"> </tt>
<a name="L594"></a><tt class="py-lineno"> 594</tt>  <tt class="py-line"> </tt>
<a name="TD"></a><div id="TD-def"><a name="L595"></a><tt class="py-lineno"> 595</tt> <a class="py-toggle" href="#" id="TD-toggle" onclick="return toggle('TD');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="gluon.html.TD-class.html">TD</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="TD-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="TD-expanded"><a name="L596"></a><tt class="py-lineno"> 596</tt>  <tt class="py-line"> </tt>
<a name="L597"></a><tt class="py-lineno"> 597</tt>  <tt class="py-line">    <tt id="link-90" class="py-name"><a title="gluon.html.A.tag
gluon.html.B.tag
gluon.html.BEAUTIFY.tag
gluon.html.BODY.tag
gluon.html.BR.tag
gluon.html.CENTER.tag
gluon.html.DIV.tag
gluon.html.EM.tag
gluon.html.EMBED.tag
gluon.html.FIELDSET.tag
gluon.html.FORM.tag
gluon.html.H1.tag
gluon.html.H2.tag
gluon.html.H3.tag
gluon.html.H4.tag
gluon.html.H5.tag
gluon.html.H6.tag
gluon.html.HEAD.tag
gluon.html.HR.tag
gluon.html.HTML.tag
gluon.html.IFRAME.tag
gluon.html.IMG.tag
gluon.html.INPUT.tag
gluon.html.LABEL.tag
gluon.html.LEGEND.tag
gluon.html.LI.tag
gluon.html.LINK.tag
gluon.html.META.tag
gluon.html.OBJECT.tag
gluon.html.OL.tag
gluon.html.OPTION.tag
gluon.html.P.tag
gluon.html.PRE.tag
gluon.html.SCRIPT.tag
gluon.html.SELECT.tag
gluon.html.SPAN.tag
gluon.html.STYLE.tag
gluon.html.TABLE.tag
gluon.html.TBODY.tag
gluon.html.TD.tag
gluon.html.TEXTAREA.tag
gluon.html.TFOOT.tag
gluon.html.TH.tag
gluon.html.THEAD.tag
gluon.html.TITLE.tag
gluon.html.TR.tag
gluon.html.TT.tag
gluon.html.UL.tag" class="py-name" href="#" onclick="return doclink('link-90', 'tag', 'link-18');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'td'</tt> </tt>
</div><a name="L598"></a><tt class="py-lineno"> 598</tt>  <tt class="py-line"> </tt>
<a name="L599"></a><tt class="py-lineno"> 599</tt>  <tt class="py-line"> </tt>
<a name="TH"></a><div id="TH-def"><a name="L600"></a><tt class="py-lineno"> 600</tt> <a class="py-toggle" href="#" id="TH-toggle" onclick="return toggle('TH');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="gluon.html.TH-class.html">TH</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="TH-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="TH-expanded"><a name="L601"></a><tt class="py-lineno"> 601</tt>  <tt class="py-line"> </tt>
<a name="L602"></a><tt class="py-lineno"> 602</tt>  <tt class="py-line">    <tt id="link-91" class="py-name"><a title="gluon.html.A.tag
gluon.html.B.tag
gluon.html.BEAUTIFY.tag
gluon.html.BODY.tag
gluon.html.BR.tag
gluon.html.CENTER.tag
gluon.html.DIV.tag
gluon.html.EM.tag
gluon.html.EMBED.tag
gluon.html.FIELDSET.tag
gluon.html.FORM.tag
gluon.html.H1.tag
gluon.html.H2.tag
gluon.html.H3.tag
gluon.html.H4.tag
gluon.html.H5.tag
gluon.html.H6.tag
gluon.html.HEAD.tag
gluon.html.HR.tag
gluon.html.HTML.tag
gluon.html.IFRAME.tag
gluon.html.IMG.tag
gluon.html.INPUT.tag
gluon.html.LABEL.tag
gluon.html.LEGEND.tag
gluon.html.LI.tag
gluon.html.LINK.tag
gluon.html.META.tag
gluon.html.OBJECT.tag
gluon.html.OL.tag
gluon.html.OPTION.tag
gluon.html.P.tag
gluon.html.PRE.tag
gluon.html.SCRIPT.tag
gluon.html.SELECT.tag
gluon.html.SPAN.tag
gluon.html.STYLE.tag
gluon.html.TABLE.tag
gluon.html.TBODY.tag
gluon.html.TD.tag
gluon.html.TEXTAREA.tag
gluon.html.TFOOT.tag
gluon.html.TH.tag
gluon.html.THEAD.tag
gluon.html.TITLE.tag
gluon.html.TR.tag
gluon.html.TT.tag
gluon.html.UL.tag" class="py-name" href="#" onclick="return doclink('link-91', 'tag', 'link-18');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'th'</tt> </tt>
</div><a name="L603"></a><tt class="py-lineno"> 603</tt>  <tt class="py-line"> </tt>
<a name="L604"></a><tt class="py-lineno"> 604</tt>  <tt class="py-line"> </tt>
<a name="TR"></a><div id="TR-def"><a name="L605"></a><tt class="py-lineno"> 605</tt> <a class="py-toggle" href="#" id="TR-toggle" onclick="return toggle('TR');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="gluon.html.TR-class.html">TR</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="TR-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="TR-expanded"><a name="L606"></a><tt class="py-lineno"> 606</tt>  <tt class="py-line"> </tt>
<a name="L607"></a><tt class="py-lineno"> 607</tt>  <tt class="py-line">    <tt id="link-92" class="py-name"><a title="gluon.html.A.tag
gluon.html.B.tag
gluon.html.BEAUTIFY.tag
gluon.html.BODY.tag
gluon.html.BR.tag
gluon.html.CENTER.tag
gluon.html.DIV.tag
gluon.html.EM.tag
gluon.html.EMBED.tag
gluon.html.FIELDSET.tag
gluon.html.FORM.tag
gluon.html.H1.tag
gluon.html.H2.tag
gluon.html.H3.tag
gluon.html.H4.tag
gluon.html.H5.tag
gluon.html.H6.tag
gluon.html.HEAD.tag
gluon.html.HR.tag
gluon.html.HTML.tag
gluon.html.IFRAME.tag
gluon.html.IMG.tag
gluon.html.INPUT.tag
gluon.html.LABEL.tag
gluon.html.LEGEND.tag
gluon.html.LI.tag
gluon.html.LINK.tag
gluon.html.META.tag
gluon.html.OBJECT.tag
gluon.html.OL.tag
gluon.html.OPTION.tag
gluon.html.P.tag
gluon.html.PRE.tag
gluon.html.SCRIPT.tag
gluon.html.SELECT.tag
gluon.html.SPAN.tag
gluon.html.STYLE.tag
gluon.html.TABLE.tag
gluon.html.TBODY.tag
gluon.html.TD.tag
gluon.html.TEXTAREA.tag
gluon.html.TFOOT.tag
gluon.html.TH.tag
gluon.html.THEAD.tag
gluon.html.TITLE.tag
gluon.html.TR.tag
gluon.html.TT.tag
gluon.html.UL.tag" class="py-name" href="#" onclick="return doclink('link-92', 'tag', 'link-18');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'tr'</tt> </tt>
<a name="L608"></a><tt class="py-lineno"> 608</tt>  <tt class="py-line"> </tt>
<a name="TR._fixup"></a><div id="TR._fixup-def"><a name="L609"></a><tt class="py-lineno"> 609</tt> <a class="py-toggle" href="#" id="TR._fixup-toggle" onclick="return toggle('TR._fixup');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="gluon.html.TR-class.html#_fixup">_fixup</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="TR._fixup-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="TR._fixup-expanded"><a name="L610"></a><tt class="py-lineno"> 610</tt>  <tt class="py-line">        <tt class="py-name">components</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
<a name="L611"></a><tt class="py-lineno"> 611</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">components</tt><tt class="py-op">:</tt> </tt>
<a name="L612"></a><tt class="py-lineno"> 612</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt id="link-93" class="py-name" targets="Class gluon.html.TD=gluon.html.TD-class.html"><a title="gluon.html.TD" class="py-name" href="#" onclick="return doclink('link-93', 'TD', 'link-93');">TD</a></tt><tt class="py-op">,</tt> <tt id="link-94" class="py-name" targets="Class gluon.html.TH=gluon.html.TH-class.html"><a title="gluon.html.TH" class="py-name" href="#" onclick="return doclink('link-94', 'TH', 'link-94');">TH</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L613"></a><tt class="py-lineno"> 613</tt>  <tt class="py-line">                <tt class="py-name">components</tt><tt class="py-op">.</tt><tt id="link-95" class="py-name"><a title="gluon.html.DIV.append" class="py-name" href="#" onclick="return doclink('link-95', 'append', 'link-23');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">)</tt> </tt>
<a name="L614"></a><tt class="py-lineno"> 614</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
<a name="L615"></a><tt class="py-lineno"> 615</tt>  <tt class="py-line">                <tt class="py-name">components</tt><tt class="py-op">.</tt><tt id="link-96" class="py-name"><a title="gluon.html.DIV.append" class="py-name" href="#" onclick="return doclink('link-96', 'append', 'link-23');">append</a></tt><tt class="py-op">(</tt><tt id="link-97" class="py-name"><a title="gluon.html.TD" class="py-name" href="#" onclick="return doclink('link-97', 'TD', 'link-93');">TD</a></tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L616"></a><tt class="py-lineno"> 616</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">components</tt> <tt class="py-op">=</tt> <tt class="py-name">components</tt> </tt>
</div></div><a name="L617"></a><tt class="py-lineno"> 617</tt>  <tt class="py-line"> </tt>
<a name="L618"></a><tt class="py-lineno"> 618</tt>  <tt class="py-line"> </tt>
<a name="THEAD"></a><div id="THEAD-def"><a name="L619"></a><tt class="py-lineno"> 619</tt> <a class="py-toggle" href="#" id="THEAD-toggle" onclick="return toggle('THEAD');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="gluon.html.THEAD-class.html">THEAD</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="THEAD-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="THEAD-expanded"><a name="L620"></a><tt class="py-lineno"> 620</tt>  <tt class="py-line"> </tt>
<a name="L621"></a><tt class="py-lineno"> 621</tt>  <tt class="py-line">    <tt id="link-98" class="py-name"><a title="gluon.html.A.tag
gluon.html.B.tag
gluon.html.BEAUTIFY.tag
gluon.html.BODY.tag
gluon.html.BR.tag
gluon.html.CENTER.tag
gluon.html.DIV.tag
gluon.html.EM.tag
gluon.html.EMBED.tag
gluon.html.FIELDSET.tag
gluon.html.FORM.tag
gluon.html.H1.tag
gluon.html.H2.tag
gluon.html.H3.tag
gluon.html.H4.tag
gluon.html.H5.tag
gluon.html.H6.tag
gluon.html.HEAD.tag
gluon.html.HR.tag
gluon.html.HTML.tag
gluon.html.IFRAME.tag
gluon.html.IMG.tag
gluon.html.INPUT.tag
gluon.html.LABEL.tag
gluon.html.LEGEND.tag
gluon.html.LI.tag
gluon.html.LINK.tag
gluon.html.META.tag
gluon.html.OBJECT.tag
gluon.html.OL.tag
gluon.html.OPTION.tag
gluon.html.P.tag
gluon.html.PRE.tag
gluon.html.SCRIPT.tag
gluon.html.SELECT.tag
gluon.html.SPAN.tag
gluon.html.STYLE.tag
gluon.html.TABLE.tag
gluon.html.TBODY.tag
gluon.html.TD.tag
gluon.html.TEXTAREA.tag
gluon.html.TFOOT.tag
gluon.html.TH.tag
gluon.html.THEAD.tag
gluon.html.TITLE.tag
gluon.html.TR.tag
gluon.html.TT.tag
gluon.html.UL.tag" class="py-name" href="#" onclick="return doclink('link-98', 'tag', 'link-18');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'thead'</tt> </tt>
</div><a name="L622"></a><tt class="py-lineno"> 622</tt>  <tt class="py-line"> </tt>
<a name="L623"></a><tt class="py-lineno"> 623</tt>  <tt class="py-line"> </tt>
<a name="TBODY"></a><div id="TBODY-def"><a name="L624"></a><tt class="py-lineno"> 624</tt> <a class="py-toggle" href="#" id="TBODY-toggle" onclick="return toggle('TBODY');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="gluon.html.TBODY-class.html">TBODY</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="TBODY-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="TBODY-expanded"><a name="L625"></a><tt class="py-lineno"> 625</tt>  <tt class="py-line"> </tt>
<a name="L626"></a><tt class="py-lineno"> 626</tt>  <tt class="py-line">    <tt id="link-99" class="py-name"><a title="gluon.html.A.tag
gluon.html.B.tag
gluon.html.BEAUTIFY.tag
gluon.html.BODY.tag
gluon.html.BR.tag
gluon.html.CENTER.tag
gluon.html.DIV.tag
gluon.html.EM.tag
gluon.html.EMBED.tag
gluon.html.FIELDSET.tag
gluon.html.FORM.tag
gluon.html.H1.tag
gluon.html.H2.tag
gluon.html.H3.tag
gluon.html.H4.tag
gluon.html.H5.tag
gluon.html.H6.tag
gluon.html.HEAD.tag
gluon.html.HR.tag
gluon.html.HTML.tag
gluon.html.IFRAME.tag
gluon.html.IMG.tag
gluon.html.INPUT.tag
gluon.html.LABEL.tag
gluon.html.LEGEND.tag
gluon.html.LI.tag
gluon.html.LINK.tag
gluon.html.META.tag
gluon.html.OBJECT.tag
gluon.html.OL.tag
gluon.html.OPTION.tag
gluon.html.P.tag
gluon.html.PRE.tag
gluon.html.SCRIPT.tag
gluon.html.SELECT.tag
gluon.html.SPAN.tag
gluon.html.STYLE.tag
gluon.html.TABLE.tag
gluon.html.TBODY.tag
gluon.html.TD.tag
gluon.html.TEXTAREA.tag
gluon.html.TFOOT.tag
gluon.html.TH.tag
gluon.html.THEAD.tag
gluon.html.TITLE.tag
gluon.html.TR.tag
gluon.html.TT.tag
gluon.html.UL.tag" class="py-name" href="#" onclick="return doclink('link-99', 'tag', 'link-18');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'tbody'</tt> </tt>
</div><a name="L627"></a><tt class="py-lineno"> 627</tt>  <tt class="py-line"> </tt>
<a name="L628"></a><tt class="py-lineno"> 628</tt>  <tt class="py-line"> </tt>
<a name="TFOOT"></a><div id="TFOOT-def"><a name="L629"></a><tt class="py-lineno"> 629</tt> <a class="py-toggle" href="#" id="TFOOT-toggle" onclick="return toggle('TFOOT');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="gluon.html.TFOOT-class.html">TFOOT</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="TFOOT-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="TFOOT-expanded"><a name="L630"></a><tt class="py-lineno"> 630</tt>  <tt class="py-line"> </tt>
<a name="L631"></a><tt class="py-lineno"> 631</tt>  <tt class="py-line">    <tt id="link-100" class="py-name"><a title="gluon.html.A.tag
gluon.html.B.tag
gluon.html.BEAUTIFY.tag
gluon.html.BODY.tag
gluon.html.BR.tag
gluon.html.CENTER.tag
gluon.html.DIV.tag
gluon.html.EM.tag
gluon.html.EMBED.tag
gluon.html.FIELDSET.tag
gluon.html.FORM.tag
gluon.html.H1.tag
gluon.html.H2.tag
gluon.html.H3.tag
gluon.html.H4.tag
gluon.html.H5.tag
gluon.html.H6.tag
gluon.html.HEAD.tag
gluon.html.HR.tag
gluon.html.HTML.tag
gluon.html.IFRAME.tag
gluon.html.IMG.tag
gluon.html.INPUT.tag
gluon.html.LABEL.tag
gluon.html.LEGEND.tag
gluon.html.LI.tag
gluon.html.LINK.tag
gluon.html.META.tag
gluon.html.OBJECT.tag
gluon.html.OL.tag
gluon.html.OPTION.tag
gluon.html.P.tag
gluon.html.PRE.tag
gluon.html.SCRIPT.tag
gluon.html.SELECT.tag
gluon.html.SPAN.tag
gluon.html.STYLE.tag
gluon.html.TABLE.tag
gluon.html.TBODY.tag
gluon.html.TD.tag
gluon.html.TEXTAREA.tag
gluon.html.TFOOT.tag
gluon.html.TH.tag
gluon.html.THEAD.tag
gluon.html.TITLE.tag
gluon.html.TR.tag
gluon.html.TT.tag
gluon.html.UL.tag" class="py-name" href="#" onclick="return doclink('link-100', 'tag', 'link-18');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'tfoot'</tt> </tt>
</div><a name="L632"></a><tt class="py-lineno"> 632</tt>  <tt class="py-line"> </tt>
<a name="L633"></a><tt class="py-lineno"> 633</tt>  <tt class="py-line"> </tt>
<a name="TABLE"></a><div id="TABLE-def"><a name="L634"></a><tt class="py-lineno"> 634</tt> <a class="py-toggle" href="#" id="TABLE-toggle" onclick="return toggle('TABLE');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="gluon.html.TABLE-class.html">TABLE</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="TABLE-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="TABLE-expanded"><a name="L635"></a><tt class="py-lineno"> 635</tt>  <tt class="py-line"> </tt>
<a name="L636"></a><tt class="py-lineno"> 636</tt>  <tt class="py-line">    <tt id="link-101" class="py-name"><a title="gluon.html.A.tag
gluon.html.B.tag
gluon.html.BEAUTIFY.tag
gluon.html.BODY.tag
gluon.html.BR.tag
gluon.html.CENTER.tag
gluon.html.DIV.tag
gluon.html.EM.tag
gluon.html.EMBED.tag
gluon.html.FIELDSET.tag
gluon.html.FORM.tag
gluon.html.H1.tag
gluon.html.H2.tag
gluon.html.H3.tag
gluon.html.H4.tag
gluon.html.H5.tag
gluon.html.H6.tag
gluon.html.HEAD.tag
gluon.html.HR.tag
gluon.html.HTML.tag
gluon.html.IFRAME.tag
gluon.html.IMG.tag
gluon.html.INPUT.tag
gluon.html.LABEL.tag
gluon.html.LEGEND.tag
gluon.html.LI.tag
gluon.html.LINK.tag
gluon.html.META.tag
gluon.html.OBJECT.tag
gluon.html.OL.tag
gluon.html.OPTION.tag
gluon.html.P.tag
gluon.html.PRE.tag
gluon.html.SCRIPT.tag
gluon.html.SELECT.tag
gluon.html.SPAN.tag
gluon.html.STYLE.tag
gluon.html.TABLE.tag
gluon.html.TBODY.tag
gluon.html.TD.tag
gluon.html.TEXTAREA.tag
gluon.html.TFOOT.tag
gluon.html.TH.tag
gluon.html.THEAD.tag
gluon.html.TITLE.tag
gluon.html.TR.tag
gluon.html.TT.tag
gluon.html.UL.tag" class="py-name" href="#" onclick="return doclink('link-101', 'tag', 'link-18');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'table'</tt> </tt>
<a name="L637"></a><tt class="py-lineno"> 637</tt>  <tt class="py-line"> </tt>
<a name="TABLE._fixup"></a><div id="TABLE._fixup-def"><a name="L638"></a><tt class="py-lineno"> 638</tt> <a class="py-toggle" href="#" id="TABLE._fixup-toggle" onclick="return toggle('TABLE._fixup');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="gluon.html.TABLE-class.html#_fixup">_fixup</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="TABLE._fixup-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="TABLE._fixup-expanded"><a name="L639"></a><tt class="py-lineno"> 639</tt>  <tt class="py-line">        <tt class="py-name">components</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
<a name="L640"></a><tt class="py-lineno"> 640</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">components</tt><tt class="py-op">:</tt> </tt>
<a name="L641"></a><tt class="py-lineno"> 641</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt id="link-102" class="py-name" targets="Class gluon.html.TR=gluon.html.TR-class.html"><a title="gluon.html.TR" class="py-name" href="#" onclick="return doclink('link-102', 'TR', 'link-102');">TR</a></tt><tt class="py-op">,</tt> <tt id="link-103" class="py-name" targets="Class gluon.html.TBODY=gluon.html.TBODY-class.html"><a title="gluon.html.TBODY" class="py-name" href="#" onclick="return doclink('link-103', 'TBODY', 'link-103');">TBODY</a></tt><tt class="py-op">,</tt> <tt id="link-104" class="py-name" targets="Class gluon.html.THEAD=gluon.html.THEAD-class.html"><a title="gluon.html.THEAD" class="py-name" href="#" onclick="return doclink('link-104', 'THEAD', 'link-104');">THEAD</a></tt><tt class="py-op">,</tt> <tt id="link-105" class="py-name" targets="Class gluon.html.TFOOT=gluon.html.TFOOT-class.html"><a title="gluon.html.TFOOT" class="py-name" href="#" onclick="return doclink('link-105', 'TFOOT', 'link-105');">TFOOT</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L642"></a><tt class="py-lineno"> 642</tt>  <tt class="py-line">                <tt class="py-name">components</tt><tt class="py-op">.</tt><tt id="link-106" class="py-name"><a title="gluon.html.DIV.append" class="py-name" href="#" onclick="return doclink('link-106', 'append', 'link-23');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">)</tt> </tt>
<a name="L643"></a><tt class="py-lineno"> 643</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
<a name="L644"></a><tt class="py-lineno"> 644</tt>  <tt class="py-line">                <tt class="py-name">components</tt><tt class="py-op">.</tt><tt id="link-107" class="py-name"><a title="gluon.html.DIV.append" class="py-name" href="#" onclick="return doclink('link-107', 'append', 'link-23');">append</a></tt><tt class="py-op">(</tt><tt id="link-108" class="py-name"><a title="gluon.html.TR" class="py-name" href="#" onclick="return doclink('link-108', 'TR', 'link-102');">TR</a></tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L645"></a><tt class="py-lineno"> 645</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">components</tt> <tt class="py-op">=</tt> <tt class="py-name">components</tt> </tt>
</div></div><a name="L646"></a><tt class="py-lineno"> 646</tt>  <tt class="py-line"> </tt>
<a name="L647"></a><tt class="py-lineno"> 647</tt>  <tt class="py-line"> </tt>
<a name="IFRAME"></a><div id="IFRAME-def"><a name="L648"></a><tt class="py-lineno"> 648</tt> <a class="py-toggle" href="#" id="IFRAME-toggle" onclick="return toggle('IFRAME');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="gluon.html.IFRAME-class.html">IFRAME</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="IFRAME-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="IFRAME-expanded"><a name="L649"></a><tt class="py-lineno"> 649</tt>  <tt class="py-line"> </tt>
<a name="L650"></a><tt class="py-lineno"> 650</tt>  <tt class="py-line">    <tt id="link-109" class="py-name"><a title="gluon.html.A.tag
gluon.html.B.tag
gluon.html.BEAUTIFY.tag
gluon.html.BODY.tag
gluon.html.BR.tag
gluon.html.CENTER.tag
gluon.html.DIV.tag
gluon.html.EM.tag
gluon.html.EMBED.tag
gluon.html.FIELDSET.tag
gluon.html.FORM.tag
gluon.html.H1.tag
gluon.html.H2.tag
gluon.html.H3.tag
gluon.html.H4.tag
gluon.html.H5.tag
gluon.html.H6.tag
gluon.html.HEAD.tag
gluon.html.HR.tag
gluon.html.HTML.tag
gluon.html.IFRAME.tag
gluon.html.IMG.tag
gluon.html.INPUT.tag
gluon.html.LABEL.tag
gluon.html.LEGEND.tag
gluon.html.LI.tag
gluon.html.LINK.tag
gluon.html.META.tag
gluon.html.OBJECT.tag
gluon.html.OL.tag
gluon.html.OPTION.tag
gluon.html.P.tag
gluon.html.PRE.tag
gluon.html.SCRIPT.tag
gluon.html.SELECT.tag
gluon.html.SPAN.tag
gluon.html.STYLE.tag
gluon.html.TABLE.tag
gluon.html.TBODY.tag
gluon.html.TD.tag
gluon.html.TEXTAREA.tag
gluon.html.TFOOT.tag
gluon.html.TH.tag
gluon.html.THEAD.tag
gluon.html.TITLE.tag
gluon.html.TR.tag
gluon.html.TT.tag
gluon.html.UL.tag" class="py-name" href="#" onclick="return doclink('link-109', 'tag', 'link-18');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'iframe'</tt> </tt>
</div><a name="L651"></a><tt class="py-lineno"> 651</tt>  <tt class="py-line"> </tt>
<a name="L652"></a><tt class="py-lineno"> 652</tt>  <tt class="py-line"> </tt>
<a name="INPUT"></a><div id="INPUT-def"><a name="L653"></a><tt class="py-lineno"> 653</tt> <a class="py-toggle" href="#" id="INPUT-toggle" onclick="return toggle('INPUT');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="gluon.html.INPUT-class.html">INPUT</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="INPUT-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="INPUT-expanded"><a name="L654"></a><tt class="py-lineno"> 654</tt>  <tt class="py-line"> </tt>
<a name="L655"></a><tt class="py-lineno"> 655</tt>  <tt class="py-line">    <tt class="py-docstring">""" </tt> </tt>
<a name="L656"></a><tt class="py-lineno"> 656</tt>  <tt class="py-line"><tt class="py-docstring">        examples:</tt> </tt>
<a name="L657"></a><tt class="py-lineno"> 657</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L658"></a><tt class="py-lineno"> 658</tt>  <tt class="py-line"><tt class="py-docstring">        &gt;&gt;&gt; INPUT(_type='text',_name='name',value='Max').xml()</tt> </tt>
<a name="L659"></a><tt class="py-lineno"> 659</tt>  <tt class="py-line"><tt class="py-docstring">        '&lt;input name=\"name\" type=\"text\" value=\"Max\" /&gt;'</tt> </tt>
<a name="L660"></a><tt class="py-lineno"> 660</tt>  <tt class="py-line"><tt class="py-docstring">        &gt;&gt;&gt; INPUT(_type='checkbox',_name='checkbox',value='on').xml()</tt> </tt>
<a name="L661"></a><tt class="py-lineno"> 661</tt>  <tt class="py-line"><tt class="py-docstring">        '&lt;input checked=\"checked\" name=\"checkbox\" type=\"checkbox\" /&gt;'</tt> </tt>
<a name="L662"></a><tt class="py-lineno"> 662</tt>  <tt class="py-line"><tt class="py-docstring">        &gt;&gt;&gt; INPUT(_type='radio',_name='radio',_value='yes',value='yes').xml()</tt> </tt>
<a name="L663"></a><tt class="py-lineno"> 663</tt>  <tt class="py-line"><tt class="py-docstring">        '&lt;input checked=\"checked\" name=\"radio\" type=\"radio\" value=\"yes\" /&gt;'</tt> </tt>
<a name="L664"></a><tt class="py-lineno"> 664</tt>  <tt class="py-line"><tt class="py-docstring">        &gt;&gt;&gt; INPUT(_type='radio',_name='radio',_value='no',value='yes').xml()</tt> </tt>
<a name="L665"></a><tt class="py-lineno"> 665</tt>  <tt class="py-line"><tt class="py-docstring">        '&lt;input name=\"radio\" type=\"radio\" value=\"no\" /&gt;'</tt> </tt>
<a name="L666"></a><tt class="py-lineno"> 666</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L667"></a><tt class="py-lineno"> 667</tt>  <tt class="py-line"><tt class="py-docstring">        the input helper takes two special attributes value= and requires=.</tt> </tt>
<a name="L668"></a><tt class="py-lineno"> 668</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L669"></a><tt class="py-lineno"> 669</tt>  <tt class="py-line"><tt class="py-docstring">        value is used to pass the initial value for the input field.</tt> </tt>
<a name="L670"></a><tt class="py-lineno"> 670</tt>  <tt class="py-line"><tt class="py-docstring">        value differs from _value because it works for checkboxes, radio,</tt> </tt>
<a name="L671"></a><tt class="py-lineno"> 671</tt>  <tt class="py-line"><tt class="py-docstring">        textarea and select/option too. </tt> </tt>
<a name="L672"></a><tt class="py-lineno"> 672</tt>  <tt class="py-line"><tt class="py-docstring">        for a checkbox value should be '' or 'on'.</tt> </tt>
<a name="L673"></a><tt class="py-lineno"> 673</tt>  <tt class="py-line"><tt class="py-docstring">        for a radio or select/option value should be the _value </tt> </tt>
<a name="L674"></a><tt class="py-lineno"> 674</tt>  <tt class="py-line"><tt class="py-docstring">        of the checked/selected item.</tt> </tt>
<a name="L675"></a><tt class="py-lineno"> 675</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L676"></a><tt class="py-lineno"> 676</tt>  <tt class="py-line"><tt class="py-docstring">        requres should be None, or a validator or a list of validators for the</tt> </tt>
<a name="L677"></a><tt class="py-lineno"> 677</tt>  <tt class="py-line"><tt class="py-docstring">        value of the field.        </tt> </tt>
<a name="L678"></a><tt class="py-lineno"> 678</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
<a name="L679"></a><tt class="py-lineno"> 679</tt>  <tt class="py-line"> </tt>
<a name="L680"></a><tt class="py-lineno"> 680</tt>  <tt class="py-line">    <tt id="link-110" class="py-name"><a title="gluon.html.A.tag
gluon.html.B.tag
gluon.html.BEAUTIFY.tag
gluon.html.BODY.tag
gluon.html.BR.tag
gluon.html.CENTER.tag
gluon.html.DIV.tag
gluon.html.EM.tag
gluon.html.EMBED.tag
gluon.html.FIELDSET.tag
gluon.html.FORM.tag
gluon.html.H1.tag
gluon.html.H2.tag
gluon.html.H3.tag
gluon.html.H4.tag
gluon.html.H5.tag
gluon.html.H6.tag
gluon.html.HEAD.tag
gluon.html.HR.tag
gluon.html.HTML.tag
gluon.html.IFRAME.tag
gluon.html.IMG.tag
gluon.html.INPUT.tag
gluon.html.LABEL.tag
gluon.html.LEGEND.tag
gluon.html.LI.tag
gluon.html.LINK.tag
gluon.html.META.tag
gluon.html.OBJECT.tag
gluon.html.OL.tag
gluon.html.OPTION.tag
gluon.html.P.tag
gluon.html.PRE.tag
gluon.html.SCRIPT.tag
gluon.html.SELECT.tag
gluon.html.SPAN.tag
gluon.html.STYLE.tag
gluon.html.TABLE.tag
gluon.html.TBODY.tag
gluon.html.TD.tag
gluon.html.TEXTAREA.tag
gluon.html.TFOOT.tag
gluon.html.TH.tag
gluon.html.THEAD.tag
gluon.html.TITLE.tag
gluon.html.TR.tag
gluon.html.TT.tag
gluon.html.UL.tag" class="py-name" href="#" onclick="return doclink('link-110', 'tag', 'link-18');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'input/'</tt> </tt>
<a name="L681"></a><tt class="py-lineno"> 681</tt>  <tt class="py-line"> </tt>
<a name="INPUT._validate"></a><div id="INPUT._validate-def"><a name="L682"></a><tt class="py-lineno"> 682</tt> <a class="py-toggle" href="#" id="INPUT._validate-toggle" onclick="return toggle('INPUT._validate');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="gluon.html.INPUT-class.html#_validate">_validate</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="INPUT._validate-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="INPUT._validate-expanded"><a name="L683"></a><tt class="py-lineno"> 683</tt>  <tt class="py-line"> </tt>
<a name="L684"></a><tt class="py-lineno"> 684</tt>  <tt class="py-line">        <tt class="py-comment"># # this only changes value, not _value</tt> </tt>
<a name="L685"></a><tt class="py-lineno"> 685</tt>  <tt class="py-line"><tt class="py-comment"></tt> </tt>
<a name="L686"></a><tt class="py-lineno"> 686</tt>  <tt class="py-line">        <tt class="py-name">name</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'_name'</tt><tt class="py-op">]</tt> </tt>
<a name="L687"></a><tt class="py-lineno"> 687</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">name</tt> <tt class="py-op">==</tt> <tt class="py-name">None</tt> <tt class="py-keyword">or</tt> <tt class="py-name">name</tt> <tt class="py-op">==</tt> <tt class="py-string">''</tt><tt class="py-op">:</tt> </tt>
<a name="L688"></a><tt class="py-lineno"> 688</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">True</tt> </tt>
<a name="L689"></a><tt class="py-lineno"> 689</tt>  <tt class="py-line">        <tt class="py-name">name</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">name</tt><tt class="py-op">)</tt> </tt>
<a name="L690"></a><tt class="py-lineno"> 690</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'_type'</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-string">'checkbox'</tt><tt class="py-op">:</tt> </tt>
<a name="L691"></a><tt class="py-lineno"> 691</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'old_value'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'value'</tt><tt class="py-op">]</tt> <tt class="py-keyword">or</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'_value'</tt><tt class="py-op">]</tt> <tt class="py-keyword">or</tt> <tt class="py-string">''</tt> </tt>
<a name="L692"></a><tt class="py-lineno"> 692</tt>  <tt class="py-line"> </tt>
<a name="L693"></a><tt class="py-lineno"> 693</tt>  <tt class="py-line">            <tt class="py-comment"># value=self.request_vars.get(name,self['value'] or '')</tt> </tt>
<a name="L694"></a><tt class="py-lineno"> 694</tt>  <tt class="py-line"><tt class="py-comment"></tt> </tt>
<a name="L695"></a><tt class="py-lineno"> 695</tt>  <tt class="py-line">            <tt class="py-name">value</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">request_vars</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-name">name</tt><tt class="py-op">,</tt> <tt class="py-string">''</tt><tt class="py-op">)</tt> </tt>
<a name="L696"></a><tt class="py-lineno"> 696</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">,</tt> <tt class="py-name">cgi</tt><tt class="py-op">.</tt><tt class="py-name">FieldStorage</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L697"></a><tt class="py-lineno"> 697</tt>  <tt class="py-line">                <tt class="py-name">value</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt> </tt>
<a name="L698"></a><tt class="py-lineno"> 698</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
<a name="L699"></a><tt class="py-lineno"> 699</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'old_value'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'value'</tt><tt class="py-op">]</tt> <tt class="py-keyword">or</tt> <tt class="py-name">False</tt> </tt>
<a name="L700"></a><tt class="py-lineno"> 700</tt>  <tt class="py-line">            <tt class="py-name">value</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">request_vars</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-name">name</tt><tt class="py-op">,</tt> <tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
<a name="L701"></a><tt class="py-lineno"> 701</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'value'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">value</tt> </tt>
<a name="L702"></a><tt class="py-lineno"> 702</tt>  <tt class="py-line">        <tt class="py-name">requires</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'requires'</tt><tt class="py-op">]</tt> </tt>
<a name="L703"></a><tt class="py-lineno"> 703</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">requires</tt><tt class="py-op">:</tt> </tt>
<a name="L704"></a><tt class="py-lineno"> 704</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">requires</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-name">list</tt><tt class="py-op">,</tt> <tt class="py-name">tuple</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L705"></a><tt class="py-lineno"> 705</tt>  <tt class="py-line">                <tt class="py-name">requires</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">requires</tt><tt class="py-op">]</tt> </tt>
<a name="L706"></a><tt class="py-lineno"> 706</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">validator</tt> <tt class="py-keyword">in</tt> <tt class="py-name">requires</tt><tt class="py-op">:</tt> </tt>
<a name="L707"></a><tt class="py-lineno"> 707</tt>  <tt class="py-line">                <tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">,</tt> <tt class="py-name">errors</tt><tt class="py-op">)</tt> <tt class="py-op">=</tt> <tt class="py-name">validator</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt> </tt>
<a name="L708"></a><tt class="py-lineno"> 708</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">errors</tt> <tt class="py-op">!=</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
<a name="L709"></a><tt class="py-lineno"> 709</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">vars</tt><tt class="py-op">[</tt><tt class="py-name">name</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">value</tt> </tt>
<a name="L710"></a><tt class="py-lineno"> 710</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">errors</tt><tt class="py-op">[</tt><tt class="py-name">name</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">errors</tt> </tt>
<a name="L711"></a><tt class="py-lineno"> 711</tt>  <tt class="py-line">                    <tt class="py-keyword">break</tt> </tt>
<a name="L712"></a><tt class="py-lineno"> 712</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">errors</tt><tt class="py-op">.</tt><tt class="py-name">has_key</tt><tt class="py-op">(</tt><tt class="py-name">name</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L713"></a><tt class="py-lineno"> 713</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">vars</tt><tt class="py-op">[</tt><tt class="py-name">name</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">value</tt> </tt>
<a name="L714"></a><tt class="py-lineno"> 714</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">True</tt> </tt>
<a name="L715"></a><tt class="py-lineno"> 715</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
</div><a name="L716"></a><tt class="py-lineno"> 716</tt>  <tt class="py-line"> </tt>
<a name="INPUT._postprocessing"></a><div id="INPUT._postprocessing-def"><a name="L717"></a><tt class="py-lineno"> 717</tt> <a class="py-toggle" href="#" id="INPUT._postprocessing-toggle" onclick="return toggle('INPUT._postprocessing');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="gluon.html.INPUT-class.html#_postprocessing">_postprocessing</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="INPUT._postprocessing-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="INPUT._postprocessing-expanded"><a name="L718"></a><tt class="py-lineno"> 718</tt>  <tt class="py-line">        <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'_type'</tt><tt class="py-op">]</tt> </tt>
<a name="L719"></a><tt class="py-lineno"> 719</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">t</tt><tt class="py-op">:</tt> </tt>
<a name="L720"></a><tt class="py-lineno"> 720</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'type'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">'text'</tt> </tt>
<a name="L721"></a><tt class="py-lineno"> 721</tt>  <tt class="py-line">        <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt id="link-111" class="py-name"><a title="gluon.sql.SQLField.lower" class="py-name" href="#" onclick="return doclink('link-111', 'lower', 'link-30');">lower</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L722"></a><tt class="py-lineno"> 722</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">t</tt> <tt class="py-op">==</tt> <tt class="py-string">'checkbox'</tt><tt class="py-op">:</tt> </tt>
<a name="L723"></a><tt class="py-lineno"> 723</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'_value'</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
<a name="L724"></a><tt class="py-lineno"> 724</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'_value'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">'on'</tt> </tt>
<a name="L725"></a><tt class="py-lineno"> 725</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'value'</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
<a name="L726"></a><tt class="py-lineno"> 726</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'_checked'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">'checked'</tt> </tt>
<a name="L727"></a><tt class="py-lineno"> 727</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
<a name="L728"></a><tt class="py-lineno"> 728</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'_checked'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
<a name="L729"></a><tt class="py-lineno"> 729</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">t</tt> <tt class="py-op">==</tt> <tt class="py-string">'radio'</tt><tt class="py-op">:</tt> </tt>
<a name="L730"></a><tt class="py-lineno"> 730</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'value'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'_value'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L731"></a><tt class="py-lineno"> 731</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'_checked'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">'checked'</tt> </tt>
<a name="L732"></a><tt class="py-lineno"> 732</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
<a name="L733"></a><tt class="py-lineno"> 733</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'_checked'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
<a name="L734"></a><tt class="py-lineno"> 734</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">t</tt> <tt class="py-op">==</tt> <tt class="py-string">'text'</tt><tt class="py-op">:</tt> </tt>
<a name="L735"></a><tt class="py-lineno"> 735</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'value'</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
<a name="L736"></a><tt class="py-lineno"> 736</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'_value'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'value'</tt><tt class="py-op">]</tt> </tt>
<a name="L737"></a><tt class="py-lineno"> 737</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
<a name="L738"></a><tt class="py-lineno"> 738</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'value'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'_value'</tt><tt class="py-op">]</tt> </tt>
</div><a name="L739"></a><tt class="py-lineno"> 739</tt>  <tt class="py-line"> </tt>
<a name="INPUT.xml"></a><div id="INPUT.xml-def"><a name="L740"></a><tt class="py-lineno"> 740</tt> <a class="py-toggle" href="#" id="INPUT.xml-toggle" onclick="return toggle('INPUT.xml');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="gluon.html.INPUT-class.html#xml">xml</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="INPUT.xml-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="INPUT.xml-expanded"><a name="L741"></a><tt class="py-lineno"> 741</tt>  <tt class="py-line">        <tt class="py-name">name</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">attributes</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-string">'_name'</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
<a name="L742"></a><tt class="py-lineno"> 742</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">name</tt> <tt class="py-keyword">and</tt> <tt class="py-name">hasattr</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt class="py-string">'errors'</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">errors</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-name">name</tt><tt class="py-op">,</tt> </tt>
<a name="L743"></a><tt class="py-lineno"> 743</tt>  <tt class="py-line">                <tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L744"></a><tt class="py-lineno"> 744</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt id="link-112" class="py-name"><a title="gluon.html.DIV" class="py-name" href="#" onclick="return doclink('link-112', 'DIV', 'link-56');">DIV</a></tt><tt class="py-op">.</tt><tt id="link-113" class="py-name"><a title="gluon.html.CODE.xml
gluon.html.DIV.xml
gluon.html.FORM.xml
gluon.html.HTML.xml
gluon.html.INPUT.xml
gluon.html.P.xml
gluon.html.SCRIPT.xml
gluon.html.XML.xml
gluon.languages.lazyT.xml
gluon.sql.SQLRows.xml
gluon.tools.Recaptcha.xml" class="py-name" href="#" onclick="return doclink('link-113', 'xml', 'link-7');">xml</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt id="link-114" class="py-name"><a title="gluon.html.DIV" class="py-name" href="#" onclick="return doclink('link-114', 'DIV', 'link-56');">DIV</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">errors</tt><tt class="py-op">[</tt><tt class="py-name">name</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">_class</tt><tt class="py-op">=</tt><tt class="py-string">'error'</tt> </tt>
<a name="L745"></a><tt class="py-lineno"> 745</tt>  <tt class="py-line">                    <tt class="py-op">,</tt> <tt class="py-name">errors</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">_id</tt><tt class="py-op">=</tt><tt class="py-string">'%s__error'</tt> <tt class="py-op">%</tt> <tt class="py-name">name</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-115" class="py-name"><a title="gluon.html.CODE.xml
gluon.html.DIV.xml
gluon.html.FORM.xml
gluon.html.HTML.xml
gluon.html.INPUT.xml
gluon.html.P.xml
gluon.html.SCRIPT.xml
gluon.html.XML.xml
gluon.languages.lazyT.xml
gluon.sql.SQLRows.xml
gluon.tools.Recaptcha.xml" class="py-name" href="#" onclick="return doclink('link-115', 'xml', 'link-7');">xml</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L746"></a><tt class="py-lineno"> 746</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
<a name="L747"></a><tt class="py-lineno"> 747</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt id="link-116" class="py-name"><a title="gluon.html.DIV" class="py-name" href="#" onclick="return doclink('link-116', 'DIV', 'link-56');">DIV</a></tt><tt class="py-op">.</tt><tt id="link-117" class="py-name"><a title="gluon.html.CODE.xml
gluon.html.DIV.xml
gluon.html.FORM.xml
gluon.html.HTML.xml
gluon.html.INPUT.xml
gluon.html.P.xml
gluon.html.SCRIPT.xml
gluon.html.XML.xml
gluon.languages.lazyT.xml
gluon.sql.SQLRows.xml
gluon.tools.Recaptcha.xml" class="py-name" href="#" onclick="return doclink('link-117', 'xml', 'link-7');">xml</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt> </tt>
</div></div><a name="L748"></a><tt class="py-lineno"> 748</tt>  <tt class="py-line"> </tt>
<a name="L749"></a><tt class="py-lineno"> 749</tt>  <tt class="py-line"> </tt>
<a name="TEXTAREA"></a><div id="TEXTAREA-def"><a name="L750"></a><tt class="py-lineno"> 750</tt> <a class="py-toggle" href="#" id="TEXTAREA-toggle" onclick="return toggle('TEXTAREA');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="gluon.html.TEXTAREA-class.html">TEXTAREA</a><tt class="py-op">(</tt><tt class="py-base-class">INPUT</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="TEXTAREA-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="TEXTAREA-expanded"><a name="L751"></a><tt class="py-lineno"> 751</tt>  <tt class="py-line"> </tt>
<a name="L752"></a><tt class="py-lineno"> 752</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
<a name="L753"></a><tt class="py-lineno"> 753</tt>  <tt class="py-line"><tt class="py-docstring">    TEXTAREA(_name='sometext',value='bla '*100,requires=IS_NOT_EMPTY())</tt> </tt>
<a name="L754"></a><tt class="py-lineno"> 754</tt>  <tt class="py-line"><tt class="py-docstring">    'bla bla bla ...' will be the content of the textarea field.</tt> </tt>
<a name="L755"></a><tt class="py-lineno"> 755</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
<a name="L756"></a><tt class="py-lineno"> 756</tt>  <tt class="py-line"> </tt>
<a name="L757"></a><tt class="py-lineno"> 757</tt>  <tt class="py-line">    <tt id="link-118" class="py-name"><a title="gluon.html.A.tag
gluon.html.B.tag
gluon.html.BEAUTIFY.tag
gluon.html.BODY.tag
gluon.html.BR.tag
gluon.html.CENTER.tag
gluon.html.DIV.tag
gluon.html.EM.tag
gluon.html.EMBED.tag
gluon.html.FIELDSET.tag
gluon.html.FORM.tag
gluon.html.H1.tag
gluon.html.H2.tag
gluon.html.H3.tag
gluon.html.H4.tag
gluon.html.H5.tag
gluon.html.H6.tag
gluon.html.HEAD.tag
gluon.html.HR.tag
gluon.html.HTML.tag
gluon.html.IFRAME.tag
gluon.html.IMG.tag
gluon.html.INPUT.tag
gluon.html.LABEL.tag
gluon.html.LEGEND.tag
gluon.html.LI.tag
gluon.html.LINK.tag
gluon.html.META.tag
gluon.html.OBJECT.tag
gluon.html.OL.tag
gluon.html.OPTION.tag
gluon.html.P.tag
gluon.html.PRE.tag
gluon.html.SCRIPT.tag
gluon.html.SELECT.tag
gluon.html.SPAN.tag
gluon.html.STYLE.tag
gluon.html.TABLE.tag
gluon.html.TBODY.tag
gluon.html.TD.tag
gluon.html.TEXTAREA.tag
gluon.html.TFOOT.tag
gluon.html.TH.tag
gluon.html.THEAD.tag
gluon.html.TITLE.tag
gluon.html.TR.tag
gluon.html.TT.tag
gluon.html.UL.tag" class="py-name" href="#" onclick="return doclink('link-118', 'tag', 'link-18');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'textarea'</tt> </tt>
<a name="L758"></a><tt class="py-lineno"> 758</tt>  <tt class="py-line"> </tt>
<a name="TEXTAREA._postprocessing"></a><div id="TEXTAREA._postprocessing-def"><a name="L759"></a><tt class="py-lineno"> 759</tt> <a class="py-toggle" href="#" id="TEXTAREA._postprocessing-toggle" onclick="return toggle('TEXTAREA._postprocessing');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="gluon.html.TEXTAREA-class.html#_postprocessing">_postprocessing</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="TEXTAREA._postprocessing-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="TEXTAREA._postprocessing-expanded"><a name="L760"></a><tt class="py-lineno"> 760</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">attributes</tt><tt class="py-op">.</tt><tt class="py-name">has_key</tt><tt class="py-op">(</tt><tt class="py-string">'_rows'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L761"></a><tt class="py-lineno"> 761</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'_rows'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-number">10</tt> </tt>
<a name="L762"></a><tt class="py-lineno"> 762</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">attributes</tt><tt class="py-op">.</tt><tt class="py-name">has_key</tt><tt class="py-op">(</tt><tt class="py-string">'_cols'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L763"></a><tt class="py-lineno"> 763</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'_cols'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-number">40</tt> </tt>
<a name="L764"></a><tt class="py-lineno"> 764</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'value'</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
<a name="L765"></a><tt class="py-lineno"> 765</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">components</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'value'</tt><tt class="py-op">]</tt><tt class="py-op">]</tt> </tt>
<a name="L766"></a><tt class="py-lineno"> 766</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">components</tt><tt class="py-op">:</tt> </tt>
<a name="L767"></a><tt class="py-lineno"> 767</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'value'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">components</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
</div></div><a name="L768"></a><tt class="py-lineno"> 768</tt>  <tt class="py-line"> </tt>
<a name="L769"></a><tt class="py-lineno"> 769</tt>  <tt class="py-line"> </tt>
<a name="OPTION"></a><div id="OPTION-def"><a name="L770"></a><tt class="py-lineno"> 770</tt> <a class="py-toggle" href="#" id="OPTION-toggle" onclick="return toggle('OPTION');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="gluon.html.OPTION-class.html">OPTION</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="OPTION-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="OPTION-expanded"><a name="L771"></a><tt class="py-lineno"> 771</tt>  <tt class="py-line"> </tt>
<a name="L772"></a><tt class="py-lineno"> 772</tt>  <tt class="py-line">    <tt id="link-119" class="py-name"><a title="gluon.html.A.tag
gluon.html.B.tag
gluon.html.BEAUTIFY.tag
gluon.html.BODY.tag
gluon.html.BR.tag
gluon.html.CENTER.tag
gluon.html.DIV.tag
gluon.html.EM.tag
gluon.html.EMBED.tag
gluon.html.FIELDSET.tag
gluon.html.FORM.tag
gluon.html.H1.tag
gluon.html.H2.tag
gluon.html.H3.tag
gluon.html.H4.tag
gluon.html.H5.tag
gluon.html.H6.tag
gluon.html.HEAD.tag
gluon.html.HR.tag
gluon.html.HTML.tag
gluon.html.IFRAME.tag
gluon.html.IMG.tag
gluon.html.INPUT.tag
gluon.html.LABEL.tag
gluon.html.LEGEND.tag
gluon.html.LI.tag
gluon.html.LINK.tag
gluon.html.META.tag
gluon.html.OBJECT.tag
gluon.html.OL.tag
gluon.html.OPTION.tag
gluon.html.P.tag
gluon.html.PRE.tag
gluon.html.SCRIPT.tag
gluon.html.SELECT.tag
gluon.html.SPAN.tag
gluon.html.STYLE.tag
gluon.html.TABLE.tag
gluon.html.TBODY.tag
gluon.html.TD.tag
gluon.html.TEXTAREA.tag
gluon.html.TFOOT.tag
gluon.html.TH.tag
gluon.html.THEAD.tag
gluon.html.TITLE.tag
gluon.html.TR.tag
gluon.html.TT.tag
gluon.html.UL.tag" class="py-name" href="#" onclick="return doclink('link-119', 'tag', 'link-18');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'option'</tt> </tt>
<a name="L773"></a><tt class="py-lineno"> 773</tt>  <tt class="py-line"> </tt>
<a name="OPTION._fixup"></a><div id="OPTION._fixup-def"><a name="L774"></a><tt class="py-lineno"> 774</tt> <a class="py-toggle" href="#" id="OPTION._fixup-toggle" onclick="return toggle('OPTION._fixup');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="gluon.html.OPTION-class.html#_fixup">_fixup</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="OPTION._fixup-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="OPTION._fixup-expanded"><a name="L775"></a><tt class="py-lineno"> 775</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">attributes</tt><tt class="py-op">.</tt><tt class="py-name">has_key</tt><tt class="py-op">(</tt><tt class="py-string">'_value'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L776"></a><tt class="py-lineno"> 776</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">attributes</tt><tt class="py-op">[</tt><tt class="py-string">'_value'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">components</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
</div></div><a name="L777"></a><tt class="py-lineno"> 777</tt>  <tt class="py-line"> </tt>
<a name="L778"></a><tt class="py-lineno"> 778</tt>  <tt class="py-line"> </tt>
<a name="OBJECT"></a><div id="OBJECT-def"><a name="L779"></a><tt class="py-lineno"> 779</tt> <a class="py-toggle" href="#" id="OBJECT-toggle" onclick="return toggle('OBJECT');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="gluon.html.OBJECT-class.html">OBJECT</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="OBJECT-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="OBJECT-expanded"><a name="L780"></a><tt class="py-lineno"> 780</tt>  <tt class="py-line"> </tt>
<a name="L781"></a><tt class="py-lineno"> 781</tt>  <tt class="py-line">    <tt id="link-120" class="py-name"><a title="gluon.html.A.tag
gluon.html.B.tag
gluon.html.BEAUTIFY.tag
gluon.html.BODY.tag
gluon.html.BR.tag
gluon.html.CENTER.tag
gluon.html.DIV.tag
gluon.html.EM.tag
gluon.html.EMBED.tag
gluon.html.FIELDSET.tag
gluon.html.FORM.tag
gluon.html.H1.tag
gluon.html.H2.tag
gluon.html.H3.tag
gluon.html.H4.tag
gluon.html.H5.tag
gluon.html.H6.tag
gluon.html.HEAD.tag
gluon.html.HR.tag
gluon.html.HTML.tag
gluon.html.IFRAME.tag
gluon.html.IMG.tag
gluon.html.INPUT.tag
gluon.html.LABEL.tag
gluon.html.LEGEND.tag
gluon.html.LI.tag
gluon.html.LINK.tag
gluon.html.META.tag
gluon.html.OBJECT.tag
gluon.html.OL.tag
gluon.html.OPTION.tag
gluon.html.P.tag
gluon.html.PRE.tag
gluon.html.SCRIPT.tag
gluon.html.SELECT.tag
gluon.html.SPAN.tag
gluon.html.STYLE.tag
gluon.html.TABLE.tag
gluon.html.TBODY.tag
gluon.html.TD.tag
gluon.html.TEXTAREA.tag
gluon.html.TFOOT.tag
gluon.html.TH.tag
gluon.html.THEAD.tag
gluon.html.TITLE.tag
gluon.html.TR.tag
gluon.html.TT.tag
gluon.html.UL.tag" class="py-name" href="#" onclick="return doclink('link-120', 'tag', 'link-18');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'object'</tt> </tt>
</div><a name="L782"></a><tt class="py-lineno"> 782</tt>  <tt class="py-line"> </tt>
<a name="L783"></a><tt class="py-lineno"> 783</tt>  <tt class="py-line"> </tt>
<a name="SELECT"></a><div id="SELECT-def"><a name="L784"></a><tt class="py-lineno"> 784</tt> <a class="py-toggle" href="#" id="SELECT-toggle" onclick="return toggle('SELECT');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="gluon.html.SELECT-class.html">SELECT</a><tt class="py-op">(</tt><tt class="py-base-class">INPUT</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="SELECT-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="SELECT-expanded"><a name="L785"></a><tt class="py-lineno"> 785</tt>  <tt class="py-line"> </tt>
<a name="L786"></a><tt class="py-lineno"> 786</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
<a name="L787"></a><tt class="py-lineno"> 787</tt>  <tt class="py-line"><tt class="py-docstring">    example:</tt> </tt>
<a name="L788"></a><tt class="py-lineno"> 788</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L789"></a><tt class="py-lineno"> 789</tt>  <tt class="py-line"><tt class="py-docstring">    &gt;&gt;&gt; SELECT('yes','no',_name='selector',value='yes',requires=IS_IN_SET(['yes','no'])).xml()</tt> </tt>
<a name="L790"></a><tt class="py-lineno"> 790</tt>  <tt class="py-line"><tt class="py-docstring">    '&lt;select name=\"selector\"&gt;&lt;option selected=\"selected\" value=\"yes\"&gt;yes&lt;/option&gt;&lt;option value=\"no\"&gt;no&lt;/option&gt;&lt;/select&gt;'</tt> </tt>
<a name="L791"></a><tt class="py-lineno"> 791</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L792"></a><tt class="py-lineno"> 792</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
<a name="L793"></a><tt class="py-lineno"> 793</tt>  <tt class="py-line"> </tt>
<a name="L794"></a><tt class="py-lineno"> 794</tt>  <tt class="py-line">    <tt id="link-121" class="py-name"><a title="gluon.html.A.tag
gluon.html.B.tag
gluon.html.BEAUTIFY.tag
gluon.html.BODY.tag
gluon.html.BR.tag
gluon.html.CENTER.tag
gluon.html.DIV.tag
gluon.html.EM.tag
gluon.html.EMBED.tag
gluon.html.FIELDSET.tag
gluon.html.FORM.tag
gluon.html.H1.tag
gluon.html.H2.tag
gluon.html.H3.tag
gluon.html.H4.tag
gluon.html.H5.tag
gluon.html.H6.tag
gluon.html.HEAD.tag
gluon.html.HR.tag
gluon.html.HTML.tag
gluon.html.IFRAME.tag
gluon.html.IMG.tag
gluon.html.INPUT.tag
gluon.html.LABEL.tag
gluon.html.LEGEND.tag
gluon.html.LI.tag
gluon.html.LINK.tag
gluon.html.META.tag
gluon.html.OBJECT.tag
gluon.html.OL.tag
gluon.html.OPTION.tag
gluon.html.P.tag
gluon.html.PRE.tag
gluon.html.SCRIPT.tag
gluon.html.SELECT.tag
gluon.html.SPAN.tag
gluon.html.STYLE.tag
gluon.html.TABLE.tag
gluon.html.TBODY.tag
gluon.html.TD.tag
gluon.html.TEXTAREA.tag
gluon.html.TFOOT.tag
gluon.html.TH.tag
gluon.html.THEAD.tag
gluon.html.TITLE.tag
gluon.html.TR.tag
gluon.html.TT.tag
gluon.html.UL.tag" class="py-name" href="#" onclick="return doclink('link-121', 'tag', 'link-18');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'select'</tt> </tt>
<a name="L795"></a><tt class="py-lineno"> 795</tt>  <tt class="py-line"> </tt>
<a name="SELECT._fixup"></a><div id="SELECT._fixup-def"><a name="L796"></a><tt class="py-lineno"> 796</tt> <a class="py-toggle" href="#" id="SELECT._fixup-toggle" onclick="return toggle('SELECT._fixup');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="gluon.html.SELECT-class.html#_fixup">_fixup</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="SELECT._fixup-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="SELECT._fixup-expanded"><a name="L797"></a><tt class="py-lineno"> 797</tt>  <tt class="py-line">        <tt class="py-name">components</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
<a name="L798"></a><tt class="py-lineno"> 798</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">components</tt><tt class="py-op">:</tt> </tt>
<a name="L799"></a><tt class="py-lineno"> 799</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">,</tt> <tt id="link-122" class="py-name" targets="Class gluon.html.OPTION=gluon.html.OPTION-class.html"><a title="gluon.html.OPTION" class="py-name" href="#" onclick="return doclink('link-122', 'OPTION', 'link-122');">OPTION</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L800"></a><tt class="py-lineno"> 800</tt>  <tt class="py-line">                <tt class="py-name">components</tt><tt class="py-op">.</tt><tt id="link-123" class="py-name"><a title="gluon.html.DIV.append" class="py-name" href="#" onclick="return doclink('link-123', 'append', 'link-23');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">)</tt> </tt>
<a name="L801"></a><tt class="py-lineno"> 801</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
<a name="L802"></a><tt class="py-lineno"> 802</tt>  <tt class="py-line">                <tt class="py-name">components</tt><tt class="py-op">.</tt><tt id="link-124" class="py-name"><a title="gluon.html.DIV.append" class="py-name" href="#" onclick="return doclink('link-124', 'append', 'link-23');">append</a></tt><tt class="py-op">(</tt><tt id="link-125" class="py-name"><a title="gluon.html.OPTION" class="py-name" href="#" onclick="return doclink('link-125', 'OPTION', 'link-122');">OPTION</a></tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">,</tt> <tt class="py-name">_value</tt><tt class="py-op">=</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L803"></a><tt class="py-lineno"> 803</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">components</tt> <tt class="py-op">=</tt> <tt class="py-name">components</tt> </tt>
</div><a name="L804"></a><tt class="py-lineno"> 804</tt>  <tt class="py-line"> </tt>
<a name="SELECT._postprocessing"></a><div id="SELECT._postprocessing-def"><a name="L805"></a><tt class="py-lineno"> 805</tt> <a class="py-toggle" href="#" id="SELECT._postprocessing-toggle" onclick="return toggle('SELECT._postprocessing');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="gluon.html.SELECT-class.html#_postprocessing">_postprocessing</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="SELECT._postprocessing-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="SELECT._postprocessing-expanded"><a name="L806"></a><tt class="py-lineno"> 806</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'value'</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
<a name="L807"></a><tt class="py-lineno"> 807</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'_multiple'</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
<a name="L808"></a><tt class="py-lineno"> 808</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">components</tt><tt class="py-op">:</tt> </tt>
<a name="L809"></a><tt class="py-lineno"> 809</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'value'</tt><tt class="py-op">]</tt> <tt class="py-keyword">and</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">[</tt><tt class="py-string">'_value'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt>\ </tt>
<a name="L810"></a><tt class="py-lineno"> 810</tt>  <tt class="py-line">                         <tt class="py-op">==</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'value'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L811"></a><tt class="py-lineno"> 811</tt>  <tt class="py-line">                        <tt class="py-name">c</tt><tt class="py-op">[</tt><tt class="py-string">'_selected'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">'selected'</tt> </tt>
<a name="L812"></a><tt class="py-lineno"> 812</tt>  <tt class="py-line">                    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
<a name="L813"></a><tt class="py-lineno"> 813</tt>  <tt class="py-line">                        <tt class="py-name">c</tt><tt class="py-op">[</tt><tt class="py-string">'_selected'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
<a name="L814"></a><tt class="py-lineno"> 814</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
<a name="L815"></a><tt class="py-lineno"> 815</tt>  <tt class="py-line">                <tt class="py-name">values</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">compile</tt><tt class="py-op">(</tt><tt class="py-string">'[\w\-:]+'</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">findall</tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'value'</tt> </tt>
<a name="L816"></a><tt class="py-lineno"> 816</tt>  <tt class="py-line">                        <tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L817"></a><tt class="py-lineno"> 817</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">components</tt><tt class="py-op">:</tt> </tt>
<a name="L818"></a><tt class="py-lineno"> 818</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'value'</tt><tt class="py-op">]</tt> <tt class="py-keyword">and</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">[</tt><tt class="py-string">'_value'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-keyword">in</tt> <tt class="py-name">values</tt><tt class="py-op">:</tt> </tt>
<a name="L819"></a><tt class="py-lineno"> 819</tt>  <tt class="py-line">                        <tt class="py-name">c</tt><tt class="py-op">[</tt><tt class="py-string">'_selected'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">'selected'</tt> </tt>
<a name="L820"></a><tt class="py-lineno"> 820</tt>  <tt class="py-line">                    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
<a name="L821"></a><tt class="py-lineno"> 821</tt>  <tt class="py-line">                        <tt class="py-name">c</tt><tt class="py-op">[</tt><tt class="py-string">'_selected'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
</div></div><a name="L822"></a><tt class="py-lineno"> 822</tt>  <tt class="py-line"> </tt>
<a name="L823"></a><tt class="py-lineno"> 823</tt>  <tt class="py-line"> </tt>
<a name="FIELDSET"></a><div id="FIELDSET-def"><a name="L824"></a><tt class="py-lineno"> 824</tt> <a class="py-toggle" href="#" id="FIELDSET-toggle" onclick="return toggle('FIELDSET');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="gluon.html.FIELDSET-class.html">FIELDSET</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="FIELDSET-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="FIELDSET-expanded"><a name="L825"></a><tt class="py-lineno"> 825</tt>  <tt class="py-line"> </tt>
<a name="L826"></a><tt class="py-lineno"> 826</tt>  <tt class="py-line">    <tt id="link-126" class="py-name"><a title="gluon.html.A.tag
gluon.html.B.tag
gluon.html.BEAUTIFY.tag
gluon.html.BODY.tag
gluon.html.BR.tag
gluon.html.CENTER.tag
gluon.html.DIV.tag
gluon.html.EM.tag
gluon.html.EMBED.tag
gluon.html.FIELDSET.tag
gluon.html.FORM.tag
gluon.html.H1.tag
gluon.html.H2.tag
gluon.html.H3.tag
gluon.html.H4.tag
gluon.html.H5.tag
gluon.html.H6.tag
gluon.html.HEAD.tag
gluon.html.HR.tag
gluon.html.HTML.tag
gluon.html.IFRAME.tag
gluon.html.IMG.tag
gluon.html.INPUT.tag
gluon.html.LABEL.tag
gluon.html.LEGEND.tag
gluon.html.LI.tag
gluon.html.LINK.tag
gluon.html.META.tag
gluon.html.OBJECT.tag
gluon.html.OL.tag
gluon.html.OPTION.tag
gluon.html.P.tag
gluon.html.PRE.tag
gluon.html.SCRIPT.tag
gluon.html.SELECT.tag
gluon.html.SPAN.tag
gluon.html.STYLE.tag
gluon.html.TABLE.tag
gluon.html.TBODY.tag
gluon.html.TD.tag
gluon.html.TEXTAREA.tag
gluon.html.TFOOT.tag
gluon.html.TH.tag
gluon.html.THEAD.tag
gluon.html.TITLE.tag
gluon.html.TR.tag
gluon.html.TT.tag
gluon.html.UL.tag" class="py-name" href="#" onclick="return doclink('link-126', 'tag', 'link-18');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'fieldset'</tt> </tt>
</div><a name="L827"></a><tt class="py-lineno"> 827</tt>  <tt class="py-line"> </tt>
<a name="L828"></a><tt class="py-lineno"> 828</tt>  <tt class="py-line"> </tt>
<a name="LEGEND"></a><div id="LEGEND-def"><a name="L829"></a><tt class="py-lineno"> 829</tt> <a class="py-toggle" href="#" id="LEGEND-toggle" onclick="return toggle('LEGEND');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="gluon.html.LEGEND-class.html">LEGEND</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="LEGEND-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="LEGEND-expanded"><a name="L830"></a><tt class="py-lineno"> 830</tt>  <tt class="py-line"> </tt>
<a name="L831"></a><tt class="py-lineno"> 831</tt>  <tt class="py-line">    <tt id="link-127" class="py-name"><a title="gluon.html.A.tag
gluon.html.B.tag
gluon.html.BEAUTIFY.tag
gluon.html.BODY.tag
gluon.html.BR.tag
gluon.html.CENTER.tag
gluon.html.DIV.tag
gluon.html.EM.tag
gluon.html.EMBED.tag
gluon.html.FIELDSET.tag
gluon.html.FORM.tag
gluon.html.H1.tag
gluon.html.H2.tag
gluon.html.H3.tag
gluon.html.H4.tag
gluon.html.H5.tag
gluon.html.H6.tag
gluon.html.HEAD.tag
gluon.html.HR.tag
gluon.html.HTML.tag
gluon.html.IFRAME.tag
gluon.html.IMG.tag
gluon.html.INPUT.tag
gluon.html.LABEL.tag
gluon.html.LEGEND.tag
gluon.html.LI.tag
gluon.html.LINK.tag
gluon.html.META.tag
gluon.html.OBJECT.tag
gluon.html.OL.tag
gluon.html.OPTION.tag
gluon.html.P.tag
gluon.html.PRE.tag
gluon.html.SCRIPT.tag
gluon.html.SELECT.tag
gluon.html.SPAN.tag
gluon.html.STYLE.tag
gluon.html.TABLE.tag
gluon.html.TBODY.tag
gluon.html.TD.tag
gluon.html.TEXTAREA.tag
gluon.html.TFOOT.tag
gluon.html.TH.tag
gluon.html.THEAD.tag
gluon.html.TITLE.tag
gluon.html.TR.tag
gluon.html.TT.tag
gluon.html.UL.tag" class="py-name" href="#" onclick="return doclink('link-127', 'tag', 'link-18');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'legend'</tt> </tt>
</div><a name="L832"></a><tt class="py-lineno"> 832</tt>  <tt class="py-line"> </tt>
<a name="L833"></a><tt class="py-lineno"> 833</tt>  <tt class="py-line"> </tt>
<a name="FORM"></a><div id="FORM-def"><a name="L834"></a><tt class="py-lineno"> 834</tt> <a class="py-toggle" href="#" id="FORM-toggle" onclick="return toggle('FORM');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="gluon.html.FORM-class.html">FORM</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="FORM-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="FORM-expanded"><a name="L835"></a><tt class="py-lineno"> 835</tt>  <tt class="py-line"> </tt>
<a name="L836"></a><tt class="py-lineno"> 836</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
<a name="L837"></a><tt class="py-lineno"> 837</tt>  <tt class="py-line"><tt class="py-docstring">    example:</tt> </tt>
<a name="L838"></a><tt class="py-lineno"> 838</tt>  <tt class="py-line"><tt class="py-docstring">   </tt> </tt>
<a name="L839"></a><tt class="py-lineno"> 839</tt>  <tt class="py-line"><tt class="py-docstring">    &gt;&gt;&gt; form=FORM(INPUT(_name=\"test\",requires=IS_NOT_EMPTY()))</tt> </tt>
<a name="L840"></a><tt class="py-lineno"> 840</tt>  <tt class="py-line"><tt class="py-docstring">    &gt;&gt;&gt; form.xml()</tt> </tt>
<a name="L841"></a><tt class="py-lineno"> 841</tt>  <tt class="py-line"><tt class="py-docstring">    '&lt;form action=\"\" enctype=\"multipart/form-data\" method=\"post\"&gt;&lt;input name=\"test\" /&gt;&lt;/form&gt;'</tt> </tt>
<a name="L842"></a><tt class="py-lineno"> 842</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L843"></a><tt class="py-lineno"> 843</tt>  <tt class="py-line"><tt class="py-docstring">    a FORM is container for INPUT, TEXTAREA, SELECT and other helpers</tt> </tt>
<a name="L844"></a><tt class="py-lineno"> 844</tt>  <tt class="py-line"><tt class="py-docstring">       </tt> </tt>
<a name="L845"></a><tt class="py-lineno"> 845</tt>  <tt class="py-line"><tt class="py-docstring">    form has one important method:</tt> </tt>
<a name="L846"></a><tt class="py-lineno"> 846</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L847"></a><tt class="py-lineno"> 847</tt>  <tt class="py-line"><tt class="py-docstring">        form.accepts(request.vars, session)</tt> </tt>
<a name="L848"></a><tt class="py-lineno"> 848</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L849"></a><tt class="py-lineno"> 849</tt>  <tt class="py-line"><tt class="py-docstring">    if form is accepted (and all validators pass) form.vars containes the</tt> </tt>
<a name="L850"></a><tt class="py-lineno"> 850</tt>  <tt class="py-line"><tt class="py-docstring">    accepted vars, otherwise form.errors contains the errors. </tt> </tt>
<a name="L851"></a><tt class="py-lineno"> 851</tt>  <tt class="py-line"><tt class="py-docstring">    in case of errors the form is modified to present the errors to the user.</tt> </tt>
<a name="L852"></a><tt class="py-lineno"> 852</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
<a name="L853"></a><tt class="py-lineno"> 853</tt>  <tt class="py-line"> </tt>
<a name="L854"></a><tt class="py-lineno"> 854</tt>  <tt class="py-line">    <tt id="link-128" class="py-name"><a title="gluon.html.A.tag
gluon.html.B.tag
gluon.html.BEAUTIFY.tag
gluon.html.BODY.tag
gluon.html.BR.tag
gluon.html.CENTER.tag
gluon.html.DIV.tag
gluon.html.EM.tag
gluon.html.EMBED.tag
gluon.html.FIELDSET.tag
gluon.html.FORM.tag
gluon.html.H1.tag
gluon.html.H2.tag
gluon.html.H3.tag
gluon.html.H4.tag
gluon.html.H5.tag
gluon.html.H6.tag
gluon.html.HEAD.tag
gluon.html.HR.tag
gluon.html.HTML.tag
gluon.html.IFRAME.tag
gluon.html.IMG.tag
gluon.html.INPUT.tag
gluon.html.LABEL.tag
gluon.html.LEGEND.tag
gluon.html.LI.tag
gluon.html.LINK.tag
gluon.html.META.tag
gluon.html.OBJECT.tag
gluon.html.OL.tag
gluon.html.OPTION.tag
gluon.html.P.tag
gluon.html.PRE.tag
gluon.html.SCRIPT.tag
gluon.html.SELECT.tag
gluon.html.SPAN.tag
gluon.html.STYLE.tag
gluon.html.TABLE.tag
gluon.html.TBODY.tag
gluon.html.TD.tag
gluon.html.TEXTAREA.tag
gluon.html.TFOOT.tag
gluon.html.TH.tag
gluon.html.THEAD.tag
gluon.html.TITLE.tag
gluon.html.TR.tag
gluon.html.TT.tag
gluon.html.UL.tag" class="py-name" href="#" onclick="return doclink('link-128', 'tag', 'link-18');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'form'</tt> </tt>
<a name="L855"></a><tt class="py-lineno"> 855</tt>  <tt class="py-line"> </tt>
<a name="FORM.__init__"></a><div id="FORM.__init__-def"><a name="L856"></a><tt class="py-lineno"> 856</tt> <a class="py-toggle" href="#" id="FORM.__init__-toggle" onclick="return toggle('FORM.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="gluon.html.FORM-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">components</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">attributes</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="FORM.__init__-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="FORM.__init__-expanded"><a name="L857"></a><tt class="py-lineno"> 857</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-129" class="py-name"><a title="gluon.html.A.tag
gluon.html.B.tag
gluon.html.BEAUTIFY.tag
gluon.html.BODY.tag
gluon.html.BR.tag
gluon.html.CENTER.tag
gluon.html.DIV.tag
gluon.html.EM.tag
gluon.html.EMBED.tag
gluon.html.FIELDSET.tag
gluon.html.FORM.tag
gluon.html.H1.tag
gluon.html.H2.tag
gluon.html.H3.tag
gluon.html.H4.tag
gluon.html.H5.tag
gluon.html.H6.tag
gluon.html.HEAD.tag
gluon.html.HR.tag
gluon.html.HTML.tag
gluon.html.IFRAME.tag
gluon.html.IMG.tag
gluon.html.INPUT.tag
gluon.html.LABEL.tag
gluon.html.LEGEND.tag
gluon.html.LI.tag
gluon.html.LINK.tag
gluon.html.META.tag
gluon.html.OBJECT.tag
gluon.html.OL.tag
gluon.html.OPTION.tag
gluon.html.P.tag
gluon.html.PRE.tag
gluon.html.SCRIPT.tag
gluon.html.SELECT.tag
gluon.html.SPAN.tag
gluon.html.STYLE.tag
gluon.html.TABLE.tag
gluon.html.TBODY.tag
gluon.html.TD.tag
gluon.html.TEXTAREA.tag
gluon.html.TFOOT.tag
gluon.html.TH.tag
gluon.html.THEAD.tag
gluon.html.TITLE.tag
gluon.html.TR.tag
gluon.html.TT.tag
gluon.html.UL.tag" class="py-name" href="#" onclick="return doclink('link-129', 'tag', 'link-18');">tag</a></tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">'/'</tt> <tt class="py-keyword">and</tt> <tt class="py-name">components</tt><tt class="py-op">:</tt> </tt>
<a name="L858"></a><tt class="py-lineno"> 858</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> <tt class="py-name">SyntaxError</tt><tt class="py-op">,</tt> <tt class="py-string">'&lt;%s&gt; tags cannot have components'</tt> <tt class="py-op">%</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-130" class="py-name"><a title="gluon.html.A.tag
gluon.html.B.tag
gluon.html.BEAUTIFY.tag
gluon.html.BODY.tag
gluon.html.BR.tag
gluon.html.CENTER.tag
gluon.html.DIV.tag
gluon.html.EM.tag
gluon.html.EMBED.tag
gluon.html.FIELDSET.tag
gluon.html.FORM.tag
gluon.html.H1.tag
gluon.html.H2.tag
gluon.html.H3.tag
gluon.html.H4.tag
gluon.html.H5.tag
gluon.html.H6.tag
gluon.html.HEAD.tag
gluon.html.HR.tag
gluon.html.HTML.tag
gluon.html.IFRAME.tag
gluon.html.IMG.tag
gluon.html.INPUT.tag
gluon.html.LABEL.tag
gluon.html.LEGEND.tag
gluon.html.LI.tag
gluon.html.LINK.tag
gluon.html.META.tag
gluon.html.OBJECT.tag
gluon.html.OL.tag
gluon.html.OPTION.tag
gluon.html.P.tag
gluon.html.PRE.tag
gluon.html.SCRIPT.tag
gluon.html.SELECT.tag
gluon.html.SPAN.tag
gluon.html.STYLE.tag
gluon.html.TABLE.tag
gluon.html.TBODY.tag
gluon.html.TD.tag
gluon.html.TEXTAREA.tag
gluon.html.TFOOT.tag
gluon.html.TH.tag
gluon.html.THEAD.tag
gluon.html.TITLE.tag
gluon.html.TR.tag
gluon.html.TT.tag
gluon.html.UL.tag" class="py-name" href="#" onclick="return doclink('link-130', 'tag', 'link-18');">tag</a></tt> </tt>
<a name="L859"></a><tt class="py-lineno"> 859</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">components</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt> <tt class="py-keyword">and</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">components</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-name">list</tt><tt class="py-op">,</tt> </tt>
<a name="L860"></a><tt class="py-lineno"> 860</tt>  <tt class="py-line">                <tt class="py-name">tuple</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L861"></a><tt class="py-lineno"> 861</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">components</tt> <tt class="py-op">=</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">components</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
<a name="L862"></a><tt class="py-lineno"> 862</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
<a name="L863"></a><tt class="py-lineno"> 863</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">components</tt> <tt class="py-op">=</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">components</tt><tt class="py-op">)</tt> </tt>
<a name="L864"></a><tt class="py-lineno"> 864</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">attributes</tt> <tt class="py-op">=</tt> <tt class="py-name">attributes</tt> </tt>
<a name="L865"></a><tt class="py-lineno"> 865</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-131" class="py-name"><a title="gluon.html.DIV._fixup
gluon.html.OPTION._fixup
gluon.html.SELECT._fixup
gluon.html.TABLE._fixup
gluon.html.TR._fixup
gluon.html.UL._fixup" class="py-name" href="#" onclick="return doclink('link-131', '_fixup', 'link-21');">_fixup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L866"></a><tt class="py-lineno"> 866</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-132" class="py-name"><a title="gluon.html.DIV._postprocessing
gluon.html.FORM._postprocessing
gluon.html.INPUT._postprocessing
gluon.html.SELECT._postprocessing
gluon.html.TEXTAREA._postprocessing" class="py-name" href="#" onclick="return doclink('link-132', '_postprocessing', 'link-22');">_postprocessing</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt>  <tt class="py-comment"># ## converts special attributes in components attributes</tt> </tt>
<a name="L867"></a><tt class="py-lineno"> 867</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">vars</tt> <tt class="py-op">=</tt> <tt id="link-133" class="py-name"><a title="gluon.storage.Storage" class="py-name" href="#" onclick="return doclink('link-133', 'Storage', 'link-1');">Storage</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L868"></a><tt class="py-lineno"> 868</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">errors</tt> <tt class="py-op">=</tt> <tt id="link-134" class="py-name"><a title="gluon.storage.Storage" class="py-name" href="#" onclick="return doclink('link-134', 'Storage', 'link-1');">Storage</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L869"></a><tt class="py-lineno"> 869</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">latest</tt> <tt class="py-op">=</tt> <tt id="link-135" class="py-name"><a title="gluon.storage.Storage" class="py-name" href="#" onclick="return doclink('link-135', 'Storage', 'link-1');">Storage</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
</div><a name="L870"></a><tt class="py-lineno"> 870</tt>  <tt class="py-line"> </tt>
<a name="FORM.accepts"></a><div id="FORM.accepts-def"><a name="L871"></a><tt class="py-lineno"> 871</tt> <a class="py-toggle" href="#" id="FORM.accepts-toggle" onclick="return toggle('FORM.accepts');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="gluon.html.FORM-class.html#accepts">accepts</a><tt class="py-op">(</tt> </tt>
<a name="L872"></a><tt class="py-lineno"> 872</tt>  <tt class="py-line">        <tt class="py-param">self</tt><tt class="py-op">,</tt> </tt>
<a name="L873"></a><tt class="py-lineno"> 873</tt>  <tt class="py-line">        <tt class="py-param">vars</tt><tt class="py-op">,</tt> </tt>
<a name="L874"></a><tt class="py-lineno"> 874</tt>  <tt class="py-line">        <tt class="py-param">session</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
<a name="L875"></a><tt class="py-lineno"> 875</tt>  <tt class="py-line">        <tt class="py-param">formname</tt><tt class="py-op">=</tt><tt class="py-string">'default'</tt><tt class="py-op">,</tt> </tt>
<a name="L876"></a><tt class="py-lineno"> 876</tt>  <tt class="py-line">        <tt class="py-param">keepvalues</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">,</tt> </tt>
<a name="L877"></a><tt class="py-lineno"> 877</tt>  <tt class="py-line">        <tt class="py-param">onvalidation</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
<a name="L878"></a><tt class="py-lineno"> 878</tt>  <tt class="py-line">        <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="FORM.accepts-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="FORM.accepts-expanded"><a name="L879"></a><tt class="py-lineno"> 879</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">errors</tt><tt class="py-op">.</tt><tt id="link-136" class="py-name" targets="Method gluon.cache.CacheInRam.clear()=gluon.cache.CacheInRam-class.html#clear,Method gluon.cache.CacheOnDisk.clear()=gluon.cache.CacheOnDisk-class.html#clear"><a title="gluon.cache.CacheInRam.clear
gluon.cache.CacheOnDisk.clear" class="py-name" href="#" onclick="return doclink('link-136', 'clear', 'link-136');">clear</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L880"></a><tt class="py-lineno"> 880</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">request_vars</tt> <tt class="py-op">=</tt> <tt id="link-137" class="py-name"><a title="gluon.storage.Storage" class="py-name" href="#" onclick="return doclink('link-137', 'Storage', 'link-1');">Storage</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L881"></a><tt class="py-lineno"> 881</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">request_vars</tt><tt class="py-op">.</tt><tt id="link-138" class="py-name" targets="Method gluon.html.DIV.update()=gluon.html.DIV-class.html#update,Method gluon.sql.SQLSet.update()=gluon.sql.SQLSet-class.html#update,Method gluon.tools.Crud.update()=gluon.tools.Crud-class.html#update,Method gluon.widget.web2pyDialog.update()=gluon.widget.web2pyDialog-class.html#update"><a title="gluon.html.DIV.update
gluon.sql.SQLSet.update
gluon.tools.Crud.update
gluon.widget.web2pyDialog.update" class="py-name" href="#" onclick="return doclink('link-138', 'update', 'link-138');">update</a></tt><tt class="py-op">(</tt><tt class="py-name">vars</tt><tt class="py-op">)</tt> </tt>
<a name="L882"></a><tt class="py-lineno"> 882</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">session</tt> <tt class="py-op">=</tt> <tt class="py-name">session</tt> </tt>
<a name="L883"></a><tt class="py-lineno"> 883</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">formname</tt> <tt class="py-op">=</tt> <tt class="py-name">formname</tt> </tt>
<a name="L884"></a><tt class="py-lineno"> 884</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">keepvalues</tt> <tt class="py-op">=</tt> <tt class="py-name">keepvalues</tt> </tt>
<a name="L885"></a><tt class="py-lineno"> 885</tt>  <tt class="py-line"> </tt>
<a name="L886"></a><tt class="py-lineno"> 886</tt>  <tt class="py-line">        <tt class="py-comment"># if this tag is a form and we are in accepting mode (status=True) check formname and formkey</tt> </tt>
<a name="L887"></a><tt class="py-lineno"> 887</tt>  <tt class="py-line"><tt class="py-comment"></tt> </tt>
<a name="L888"></a><tt class="py-lineno"> 888</tt>  <tt class="py-line">        <tt class="py-name">status</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
<a name="L889"></a><tt class="py-lineno"> 889</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">session</tt> <tt class="py-keyword">and</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">session</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-string">'_formkey[%s]'</tt> </tt>
<a name="L890"></a><tt class="py-lineno"> 890</tt>  <tt class="py-line">                 <tt class="py-op">%</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">formname</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> <tt class="py-op">!=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">request_vars</tt><tt class="py-op">.</tt><tt class="py-name">_formkey</tt><tt class="py-op">:</tt> </tt>
<a name="L891"></a><tt class="py-lineno"> 891</tt>  <tt class="py-line">            <tt class="py-name">status</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
<a name="L892"></a><tt class="py-lineno"> 892</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">formname</tt> <tt class="py-op">!=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">request_vars</tt><tt class="py-op">.</tt><tt class="py-name">_formname</tt><tt class="py-op">:</tt> </tt>
<a name="L893"></a><tt class="py-lineno"> 893</tt>  <tt class="py-line">            <tt class="py-name">status</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
<a name="L894"></a><tt class="py-lineno"> 894</tt>  <tt class="py-line">        <tt class="py-name">status</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-139" class="py-name"><a title="gluon.html.DIV._traverse" class="py-name" href="#" onclick="return doclink('link-139', '_traverse', 'link-25');">_traverse</a></tt><tt class="py-op">(</tt><tt class="py-name">status</tt><tt class="py-op">)</tt> </tt>
<a name="L895"></a><tt class="py-lineno"> 895</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">status</tt> <tt class="py-keyword">and</tt> <tt class="py-name">onvalidation</tt><tt class="py-op">:</tt> </tt>
<a name="L896"></a><tt class="py-lineno"> 896</tt>  <tt class="py-line">            <tt class="py-name">onvalidation</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt> </tt>
<a name="L897"></a><tt class="py-lineno"> 897</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">errors</tt><tt class="py-op">:</tt> </tt>
<a name="L898"></a><tt class="py-lineno"> 898</tt>  <tt class="py-line">            <tt class="py-name">status</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
<a name="L899"></a><tt class="py-lineno"> 899</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">session</tt> <tt class="py-op">!=</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
<a name="L900"></a><tt class="py-lineno"> 900</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">formkey</tt> <tt class="py-op">=</tt> <tt class="py-name">session</tt><tt class="py-op">[</tt><tt class="py-string">'_formkey[%s]'</tt> <tt class="py-op">%</tt> <tt class="py-name">formname</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> \ </tt>
<a name="L901"></a><tt class="py-lineno"> 901</tt>  <tt class="py-line">                <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">uuid</tt><tt class="py-op">.</tt><tt class="py-name">uuid4</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L902"></a><tt class="py-lineno"> 902</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">status</tt> <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">keepvalues</tt><tt class="py-op">:</tt> </tt>
<a name="L903"></a><tt class="py-lineno"> 903</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-140" class="py-name"><a title="gluon.html.DIV._traverse" class="py-name" href="#" onclick="return doclink('link-140', '_traverse', 'link-25');">_traverse</a></tt><tt class="py-op">(</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
<a name="L904"></a><tt class="py-lineno"> 904</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">status</tt> </tt>
</div><a name="L905"></a><tt class="py-lineno"> 905</tt>  <tt class="py-line"> </tt>
<a name="FORM._postprocessing"></a><div id="FORM._postprocessing-def"><a name="L906"></a><tt class="py-lineno"> 906</tt> <a class="py-toggle" href="#" id="FORM._postprocessing-toggle" onclick="return toggle('FORM._postprocessing');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="gluon.html.FORM-class.html#_postprocessing">_postprocessing</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="FORM._postprocessing-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="FORM._postprocessing-expanded"><a name="L907"></a><tt class="py-lineno"> 907</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">attributes</tt><tt class="py-op">.</tt><tt class="py-name">has_key</tt><tt class="py-op">(</tt><tt class="py-string">'_action'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L908"></a><tt class="py-lineno"> 908</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'_action'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
<a name="L909"></a><tt class="py-lineno"> 909</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">attributes</tt><tt class="py-op">.</tt><tt class="py-name">has_key</tt><tt class="py-op">(</tt><tt class="py-string">'_method'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L910"></a><tt class="py-lineno"> 910</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'_method'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">'post'</tt> </tt>
<a name="L911"></a><tt class="py-lineno"> 911</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">attributes</tt><tt class="py-op">.</tt><tt class="py-name">has_key</tt><tt class="py-op">(</tt><tt class="py-string">'_enctype'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L912"></a><tt class="py-lineno"> 912</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">'_enctype'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">'multipart/form-data'</tt> </tt>
</div><a name="L913"></a><tt class="py-lineno"> 913</tt>  <tt class="py-line"> </tt>
<a name="FORM.hidden_fields"></a><div id="FORM.hidden_fields-def"><a name="L914"></a><tt class="py-lineno"> 914</tt> <a class="py-toggle" href="#" id="FORM.hidden_fields-toggle" onclick="return toggle('FORM.hidden_fields');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="gluon.html.FORM-class.html#hidden_fields">hidden_fields</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="FORM.hidden_fields-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="FORM.hidden_fields-expanded"><a name="L915"></a><tt class="py-lineno"> 915</tt>  <tt class="py-line">        <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
<a name="L916"></a><tt class="py-lineno"> 916</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">attributes</tt><tt class="py-op">.</tt><tt class="py-name">has_key</tt><tt class="py-op">(</tt><tt class="py-string">'hidden'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L917"></a><tt class="py-lineno"> 917</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">value</tt><tt class="py-op">)</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">attributes</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-string">'hidden'</tt><tt class="py-op">,</tt> </tt>
<a name="L918"></a><tt class="py-lineno"> 918</tt>  <tt class="py-line">                    <tt class="py-op">{</tt><tt class="py-op">}</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">items</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L919"></a><tt class="py-lineno"> 919</tt>  <tt class="py-line">                <tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-141" class="py-name"><a title="gluon.html.DIV.append" class="py-name" href="#" onclick="return doclink('link-141', 'append', 'link-23');">append</a></tt><tt class="py-op">(</tt><tt id="link-142" class="py-name" targets="Class gluon.html.INPUT=gluon.html.INPUT-class.html"><a title="gluon.html.INPUT" class="py-name" href="#" onclick="return doclink('link-142', 'INPUT', 'link-142');">INPUT</a></tt><tt class="py-op">(</tt><tt class="py-name">_type</tt><tt class="py-op">=</tt><tt class="py-string">'hidden'</tt><tt class="py-op">,</tt> <tt class="py-name">_name</tt><tt class="py-op">=</tt><tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">_value</tt><tt class="py-op">=</tt><tt class="py-name">value</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L920"></a><tt class="py-lineno"> 920</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">hasattr</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt class="py-string">'formkey'</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">formkey</tt><tt class="py-op">:</tt> </tt>
<a name="L921"></a><tt class="py-lineno"> 921</tt>  <tt class="py-line">            <tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-143" class="py-name"><a title="gluon.html.DIV.append" class="py-name" href="#" onclick="return doclink('link-143', 'append', 'link-23');">append</a></tt><tt class="py-op">(</tt><tt id="link-144" class="py-name"><a title="gluon.html.INPUT" class="py-name" href="#" onclick="return doclink('link-144', 'INPUT', 'link-142');">INPUT</a></tt><tt class="py-op">(</tt><tt class="py-name">_type</tt><tt class="py-op">=</tt><tt class="py-string">'hidden'</tt><tt class="py-op">,</tt> <tt class="py-name">_name</tt><tt class="py-op">=</tt><tt class="py-string">'_formkey'</tt><tt class="py-op">,</tt> </tt>
<a name="L922"></a><tt class="py-lineno"> 922</tt>  <tt class="py-line">                     <tt class="py-name">_value</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">formkey</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L923"></a><tt class="py-lineno"> 923</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">hasattr</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt class="py-string">'formname'</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">formname</tt><tt class="py-op">:</tt> </tt>
<a name="L924"></a><tt class="py-lineno"> 924</tt>  <tt class="py-line">            <tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-145" class="py-name"><a title="gluon.html.DIV.append" class="py-name" href="#" onclick="return doclink('link-145', 'append', 'link-23');">append</a></tt><tt class="py-op">(</tt><tt id="link-146" class="py-name"><a title="gluon.html.INPUT" class="py-name" href="#" onclick="return doclink('link-146', 'INPUT', 'link-142');">INPUT</a></tt><tt class="py-op">(</tt><tt class="py-name">_type</tt><tt class="py-op">=</tt><tt class="py-string">'hidden'</tt><tt class="py-op">,</tt> <tt class="py-name">_name</tt><tt class="py-op">=</tt><tt class="py-string">'_formname'</tt><tt class="py-op">,</tt> </tt>
<a name="L925"></a><tt class="py-lineno"> 925</tt>  <tt class="py-line">                     <tt class="py-name">_value</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">formname</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L926"></a><tt class="py-lineno"> 926</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt id="link-147" class="py-name"><a title="gluon.html.TAG
gluon.sqlhtml.TAG
gluon.tools.TAG" class="py-name" href="#" onclick="return doclink('link-147', 'TAG', 'link-42');">TAG</a></tt><tt class="py-op">[</tt><tt class="py-string">''</tt><tt class="py-op">]</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">)</tt> </tt>
</div><a name="L927"></a><tt class="py-lineno"> 927</tt>  <tt class="py-line"> </tt>
<a name="FORM.xml"></a><div id="FORM.xml-def"><a name="L928"></a><tt class="py-lineno"> 928</tt> <a class="py-toggle" href="#" id="FORM.xml-toggle" onclick="return toggle('FORM.xml');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="gluon.html.FORM-class.html#xml">xml</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="FORM.xml-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="FORM.xml-expanded"><a name="L929"></a><tt class="py-lineno"> 929</tt>  <tt class="py-line">        <tt class="py-name">newform</tt> <tt class="py-op">=</tt> <tt id="link-148" class="py-name" targets="Class gluon.html.FORM=gluon.html.FORM-class.html"><a title="gluon.html.FORM" class="py-name" href="#" onclick="return doclink('link-148', 'FORM', 'link-148');">FORM</a></tt><tt class="py-op">(</tt><tt class="py-op">*</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">components</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">attributes</tt><tt class="py-op">)</tt> </tt>
<a name="L930"></a><tt class="py-lineno"> 930</tt>  <tt class="py-line">        <tt class="py-name">newform</tt><tt class="py-op">.</tt><tt id="link-149" class="py-name"><a title="gluon.html.DIV.append" class="py-name" href="#" onclick="return doclink('link-149', 'append', 'link-23');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-150" class="py-name" targets="Method gluon.html.FORM.hidden_fields()=gluon.html.FORM-class.html#hidden_fields"><a title="gluon.html.FORM.hidden_fields" class="py-name" href="#" onclick="return doclink('link-150', 'hidden_fields', 'link-150');">hidden_fields</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L931"></a><tt class="py-lineno"> 931</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt id="link-151" class="py-name"><a title="gluon.html.DIV" class="py-name" href="#" onclick="return doclink('link-151', 'DIV', 'link-56');">DIV</a></tt><tt class="py-op">.</tt><tt id="link-152" class="py-name"><a title="gluon.html.CODE.xml
gluon.html.DIV.xml
gluon.html.FORM.xml
gluon.html.HTML.xml
gluon.html.INPUT.xml
gluon.html.P.xml
gluon.html.SCRIPT.xml
gluon.html.XML.xml
gluon.languages.lazyT.xml
gluon.sql.SQLRows.xml
gluon.tools.Recaptcha.xml" class="py-name" href="#" onclick="return doclink('link-152', 'xml', 'link-7');">xml</a></tt><tt class="py-op">(</tt><tt class="py-name">newform</tt><tt class="py-op">)</tt> </tt>
</div></div><a name="L932"></a><tt class="py-lineno"> 932</tt>  <tt class="py-line"> </tt>
<a name="L933"></a><tt class="py-lineno"> 933</tt>  <tt class="py-line"> </tt>
<a name="BEAUTIFY"></a><div id="BEAUTIFY-def"><a name="L934"></a><tt class="py-lineno"> 934</tt> <a class="py-toggle" href="#" id="BEAUTIFY-toggle" onclick="return toggle('BEAUTIFY');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="gluon.html.BEAUTIFY-class.html">BEAUTIFY</a><tt class="py-op">(</tt><tt class="py-base-class">DIV</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="BEAUTIFY-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="BEAUTIFY-expanded"><a name="L935"></a><tt class="py-lineno"> 935</tt>  <tt class="py-line"> </tt>
<a name="L936"></a><tt class="py-lineno"> 936</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
<a name="L937"></a><tt class="py-lineno"> 937</tt>  <tt class="py-line"><tt class="py-docstring">    example:</tt> </tt>
<a name="L938"></a><tt class="py-lineno"> 938</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L939"></a><tt class="py-lineno"> 939</tt>  <tt class="py-line"><tt class="py-docstring">    &gt;&gt;&gt; BEAUTIFY(['a','b',{'hello':'world'}]).xml()</tt> </tt>
<a name="L940"></a><tt class="py-lineno"> 940</tt>  <tt class="py-line"><tt class="py-docstring">    '&lt;div&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;div&gt;a&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;div&gt;b&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;div&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;&lt;div&gt;hello&lt;/div&gt;&lt;/b&gt;&lt;/td&gt;&lt;td align=\"top\"&gt;:&lt;/td&gt;&lt;td&gt;&lt;div&gt;world&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;'</tt> </tt>
<a name="L941"></a><tt class="py-lineno"> 941</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L942"></a><tt class="py-lineno"> 942</tt>  <tt class="py-line"><tt class="py-docstring">    turns any list, dictionarie, etc into decent looking html.</tt> </tt>
<a name="L943"></a><tt class="py-lineno"> 943</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
<a name="L944"></a><tt class="py-lineno"> 944</tt>  <tt class="py-line"> </tt>
<a name="L945"></a><tt class="py-lineno"> 945</tt>  <tt class="py-line">    <tt id="link-153" class="py-name"><a title="gluon.html.A.tag
gluon.html.B.tag
gluon.html.BEAUTIFY.tag
gluon.html.BODY.tag
gluon.html.BR.tag
gluon.html.CENTER.tag
gluon.html.DIV.tag
gluon.html.EM.tag
gluon.html.EMBED.tag
gluon.html.FIELDSET.tag
gluon.html.FORM.tag
gluon.html.H1.tag
gluon.html.H2.tag
gluon.html.H3.tag
gluon.html.H4.tag
gluon.html.H5.tag
gluon.html.H6.tag
gluon.html.HEAD.tag
gluon.html.HR.tag
gluon.html.HTML.tag
gluon.html.IFRAME.tag
gluon.html.IMG.tag
gluon.html.INPUT.tag
gluon.html.LABEL.tag
gluon.html.LEGEND.tag
gluon.html.LI.tag
gluon.html.LINK.tag
gluon.html.META.tag
gluon.html.OBJECT.tag
gluon.html.OL.tag
gluon.html.OPTION.tag
gluon.html.P.tag
gluon.html.PRE.tag
gluon.html.SCRIPT.tag
gluon.html.SELECT.tag
gluon.html.SPAN.tag
gluon.html.STYLE.tag
gluon.html.TABLE.tag
gluon.html.TBODY.tag
gluon.html.TD.tag
gluon.html.TEXTAREA.tag
gluon.html.TFOOT.tag
gluon.html.TH.tag
gluon.html.THEAD.tag
gluon.html.TITLE.tag
gluon.html.TR.tag
gluon.html.TT.tag
gluon.html.UL.tag" class="py-name" href="#" onclick="return doclink('link-153', 'tag', 'link-18');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'div'</tt> </tt>
<a name="L946"></a><tt class="py-lineno"> 946</tt>  <tt class="py-line"> </tt>
<a name="BEAUTIFY.__init__"></a><div id="BEAUTIFY.__init__-def"><a name="L947"></a><tt class="py-lineno"> 947</tt> <a class="py-toggle" href="#" id="BEAUTIFY.__init__-toggle" onclick="return toggle('BEAUTIFY.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="gluon.html.BEAUTIFY-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">component</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">attributes</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="BEAUTIFY.__init__-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="BEAUTIFY.__init__-expanded"><a name="L948"></a><tt class="py-lineno"> 948</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">components</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">component</tt><tt class="py-op">]</tt> </tt>
<a name="L949"></a><tt class="py-lineno"> 949</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">attributes</tt> <tt class="py-op">=</tt> <tt class="py-name">attributes</tt> </tt>
<a name="L950"></a><tt class="py-lineno"> 950</tt>  <tt class="py-line">        <tt class="py-name">components</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
<a name="L951"></a><tt class="py-lineno"> 951</tt>  <tt class="py-line">        <tt class="py-name">attributes</tt> <tt class="py-op">=</tt> <tt class="py-name">copy</tt><tt class="py-op">.</tt><tt class="py-name">copy</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">attributes</tt><tt class="py-op">)</tt> </tt>
<a name="L952"></a><tt class="py-lineno"> 952</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">attributes</tt><tt class="py-op">.</tt><tt class="py-name">has_key</tt><tt class="py-op">(</tt><tt class="py-string">'_class'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L953"></a><tt class="py-lineno"> 953</tt>  <tt class="py-line">            <tt class="py-name">attributes</tt><tt class="py-op">[</tt><tt class="py-string">'_class'</tt><tt class="py-op">]</tt> <tt class="py-op">+=</tt> <tt class="py-string">'i'</tt> </tt>
<a name="L954"></a><tt class="py-lineno"> 954</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">components</tt><tt class="py-op">:</tt> </tt>
<a name="L955"></a><tt class="py-lineno"> 955</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">)</tt> </tt>
<a name="L956"></a><tt class="py-lineno"> 956</tt>  <tt class="py-line">            <tt class="py-name">s</tt> <tt class="py-op">=</tt> <tt class="py-name">dir</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">)</tt>  <tt class="py-comment"># this really has to be fixed!!!!</tt> </tt>
<a name="L957"></a><tt class="py-lineno"> 957</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-string">'xml'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">s</tt><tt class="py-op">:</tt>  <tt class="py-comment"># assume c has a .xml()</tt> </tt>
<a name="L958"></a><tt class="py-lineno"> 958</tt>  <tt class="py-line">                <tt class="py-name">components</tt><tt class="py-op">.</tt><tt id="link-154" class="py-name"><a title="gluon.html.DIV.append" class="py-name" href="#" onclick="return doclink('link-154', 'append', 'link-23');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">)</tt> </tt>
<a name="L959"></a><tt class="py-lineno"> 959</tt>  <tt class="py-line">                <tt class="py-keyword">continue</tt> </tt>
<a name="L960"></a><tt class="py-lineno"> 960</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-string">'keys'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">s</tt><tt class="py-op">:</tt> </tt>
<a name="L961"></a><tt class="py-lineno"> 961</tt>  <tt class="py-line">                <tt class="py-name">rows</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
<a name="L962"></a><tt class="py-lineno"> 962</tt>  <tt class="py-line">                <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
<a name="L963"></a><tt class="py-lineno"> 963</tt>  <tt class="py-line">                    <tt class="py-keyword">for</tt> <tt class="py-name">key</tt> <tt class="py-keyword">in</tt> <tt class="py-name">sorted</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L964"></a><tt class="py-lineno"> 964</tt>  <tt class="py-line">                        <tt class="py-keyword">if</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">'_'</tt><tt class="py-op">:</tt> </tt>
<a name="L965"></a><tt class="py-lineno"> 965</tt>  <tt class="py-line">                            <tt class="py-keyword">continue</tt> </tt>
<a name="L966"></a><tt class="py-lineno"> 966</tt>  <tt class="py-line">                        <tt class="py-name">value</tt> <tt class="py-op">=</tt> <tt class="py-name">c</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt> </tt>
<a name="L967"></a><tt class="py-lineno"> 967</tt>  <tt class="py-line">                        <tt class="py-keyword">if</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">types</tt><tt class="py-op">.</tt><tt class="py-name">LambdaType</tt><tt class="py-op">:</tt> </tt>
<a name="L968"></a><tt class="py-lineno"> 968</tt>  <tt class="py-line">                            <tt class="py-keyword">continue</tt> </tt>
<a name="L969"></a><tt class="py-lineno"> 969</tt>  <tt class="py-line">                        <tt class="py-name">rows</tt><tt class="py-op">.</tt><tt id="link-155" class="py-name"><a title="gluon.html.DIV.append" class="py-name" href="#" onclick="return doclink('link-155', 'append', 'link-23');">append</a></tt><tt class="py-op">(</tt><tt id="link-156" class="py-name"><a title="gluon.html.TR" class="py-name" href="#" onclick="return doclink('link-156', 'TR', 'link-102');">TR</a></tt><tt class="py-op">(</tt><tt id="link-157" class="py-name"><a title="gluon.html.TD" class="py-name" href="#" onclick="return doclink('link-157', 'TD', 'link-93');">TD</a></tt><tt class="py-op">(</tt><tt id="link-158" class="py-name" targets="Class gluon.html.B=gluon.html.B-class.html"><a title="gluon.html.B" class="py-name" href="#" onclick="return doclink('link-158', 'B', 'link-158');">B</a></tt><tt class="py-op">(</tt><tt id="link-159" class="py-name" targets="Class gluon.html.BEAUTIFY=gluon.html.BEAUTIFY-class.html"><a title="gluon.html.BEAUTIFY" class="py-name" href="#" onclick="return doclink('link-159', 'BEAUTIFY', 'link-159');">BEAUTIFY</a></tt><tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">,</tt> </tt>
<a name="L970"></a><tt class="py-lineno"> 970</tt>  <tt class="py-line">                                    <tt class="py-op">**</tt><tt class="py-name">attributes</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-160" class="py-name"><a title="gluon.html.TD" class="py-name" href="#" onclick="return doclink('link-160', 'TD', 'link-93');">TD</a></tt><tt class="py-op">(</tt><tt class="py-string">':'</tt><tt class="py-op">,</tt> </tt>
<a name="L971"></a><tt class="py-lineno"> 971</tt>  <tt class="py-line">                                    <tt class="py-name">_align</tt><tt class="py-op">=</tt><tt class="py-string">'top'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-161" class="py-name"><a title="gluon.html.TD" class="py-name" href="#" onclick="return doclink('link-161', 'TD', 'link-93');">TD</a></tt><tt class="py-op">(</tt><tt id="link-162" class="py-name"><a title="gluon.html.BEAUTIFY" class="py-name" href="#" onclick="return doclink('link-162', 'BEAUTIFY', 'link-159');">BEAUTIFY</a></tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">,</tt> </tt>
<a name="L972"></a><tt class="py-lineno"> 972</tt>  <tt class="py-line">                                    <tt class="py-op">**</tt><tt class="py-name">attributes</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L973"></a><tt class="py-lineno"> 973</tt>  <tt class="py-line">                    <tt class="py-name">components</tt><tt class="py-op">.</tt><tt id="link-163" class="py-name"><a title="gluon.html.DIV.append" class="py-name" href="#" onclick="return doclink('link-163', 'append', 'link-23');">append</a></tt><tt class="py-op">(</tt><tt id="link-164" class="py-name" targets="Class gluon.html.TABLE=gluon.html.TABLE-class.html"><a title="gluon.html.TABLE" class="py-name" href="#" onclick="return doclink('link-164', 'TABLE', 'link-164');">TABLE</a></tt><tt class="py-op">(</tt><tt class="py-op">*</tt><tt class="py-name">rows</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-name">attributes</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L974"></a><tt class="py-lineno"> 974</tt>  <tt class="py-line">                    <tt class="py-keyword">continue</tt> </tt>
<a name="L975"></a><tt class="py-lineno"> 975</tt>  <tt class="py-line">                <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
<a name="L976"></a><tt class="py-lineno"> 976</tt>  <tt class="py-line">                    <tt class="py-keyword">pass</tt> </tt>
<a name="L977"></a><tt class="py-lineno"> 977</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L978"></a><tt class="py-lineno"> 978</tt>  <tt class="py-line">                <tt class="py-name">components</tt><tt class="py-op">.</tt><tt id="link-165" class="py-name"><a title="gluon.html.DIV.append" class="py-name" href="#" onclick="return doclink('link-165', 'append', 'link-23');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L979"></a><tt class="py-lineno"> 979</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">,</tt> <tt class="py-name">unicode</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L980"></a><tt class="py-lineno"> 980</tt>  <tt class="py-line">                <tt class="py-name">components</tt><tt class="py-op">.</tt><tt id="link-166" class="py-name"><a title="gluon.html.DIV.append" class="py-name" href="#" onclick="return doclink('link-166', 'append', 'link-23');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">.</tt><tt class="py-name">encode</tt><tt class="py-op">(</tt><tt class="py-string">'utf8'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L981"></a><tt class="py-lineno"> 981</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-name">list</tt><tt class="py-op">,</tt> <tt class="py-name">tuple</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L982"></a><tt class="py-lineno"> 982</tt>  <tt class="py-line">                <tt class="py-name">items</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt id="link-167" class="py-name"><a title="gluon.html.TR" class="py-name" href="#" onclick="return doclink('link-167', 'TR', 'link-102');">TR</a></tt><tt class="py-op">(</tt><tt id="link-168" class="py-name"><a title="gluon.html.TD" class="py-name" href="#" onclick="return doclink('link-168', 'TD', 'link-93');">TD</a></tt><tt class="py-op">(</tt><tt id="link-169" class="py-name"><a title="gluon.html.BEAUTIFY" class="py-name" href="#" onclick="return doclink('link-169', 'BEAUTIFY', 'link-159');">BEAUTIFY</a></tt><tt class="py-op">(</tt><tt class="py-name">item</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-name">attributes</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L983"></a><tt class="py-lineno"> 983</tt>  <tt class="py-line">                         <tt class="py-keyword">for</tt> <tt class="py-name">item</tt> <tt class="py-keyword">in</tt> <tt class="py-name">c</tt><tt class="py-op">]</tt> </tt>
<a name="L984"></a><tt class="py-lineno"> 984</tt>  <tt class="py-line">                <tt class="py-name">components</tt><tt class="py-op">.</tt><tt id="link-170" class="py-name"><a title="gluon.html.DIV.append" class="py-name" href="#" onclick="return doclink('link-170', 'append', 'link-23');">append</a></tt><tt class="py-op">(</tt><tt id="link-171" class="py-name"><a title="gluon.html.TABLE" class="py-name" href="#" onclick="return doclink('link-171', 'TABLE', 'link-164');">TABLE</a></tt><tt class="py-op">(</tt><tt class="py-op">*</tt><tt class="py-name">items</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-name">attributes</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L985"></a><tt class="py-lineno"> 985</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">,</tt> <tt class="py-name">cgi</tt><tt class="py-op">.</tt><tt class="py-name">FieldStorage</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L986"></a><tt class="py-lineno"> 986</tt>  <tt class="py-line">                <tt class="py-name">components</tt><tt class="py-op">.</tt><tt id="link-172" class="py-name"><a title="gluon.html.DIV.append" class="py-name" href="#" onclick="return doclink('link-172', 'append', 'link-23');">append</a></tt><tt class="py-op">(</tt><tt class="py-string">'FieldStorage object'</tt><tt class="py-op">)</tt> </tt>
<a name="L987"></a><tt class="py-lineno"> 987</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
<a name="L988"></a><tt class="py-lineno"> 988</tt>  <tt class="py-line">                <tt class="py-name">components</tt><tt class="py-op">.</tt><tt id="link-173" class="py-name"><a title="gluon.html.DIV.append" class="py-name" href="#" onclick="return doclink('link-173', 'append', 'link-23');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">repr</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L989"></a><tt class="py-lineno"> 989</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">components</tt> <tt class="py-op">=</tt> <tt class="py-name">components</tt> </tt>
</div></div><a name="L990"></a><tt class="py-lineno"> 990</tt>  <tt class="py-line"> </tt>
<a name="L991"></a><tt class="py-lineno"> 991</tt>  <tt class="py-line"> </tt>
<a name="embed64"></a><div id="embed64-def"><a name="L992"></a><tt class="py-lineno"> 992</tt> <a class="py-toggle" href="#" id="embed64-toggle" onclick="return toggle('embed64');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="gluon.html-module.html#embed64">embed64</a><tt class="py-op">(</tt> </tt>
<a name="L993"></a><tt class="py-lineno"> 993</tt>  <tt class="py-line">    <tt class="py-param">filename</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
<a name="L994"></a><tt class="py-lineno"> 994</tt>  <tt class="py-line">    <tt class="py-param">file</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
<a name="L995"></a><tt class="py-lineno"> 995</tt>  <tt class="py-line">    <tt class="py-param">data</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
<a name="L996"></a><tt class="py-lineno"> 996</tt>  <tt class="py-line">    <tt class="py-param">extension</tt><tt class="py-op">=</tt><tt class="py-string">'image/gif'</tt><tt class="py-op">,</tt> </tt>
<a name="L997"></a><tt class="py-lineno"> 997</tt>  <tt class="py-line">    <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="embed64-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="embed64-expanded"><a name="L998"></a><tt class="py-lineno"> 998</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">filename</tt><tt class="py-op">:</tt> </tt>
<a name="L999"></a><tt class="py-lineno"> 999</tt>  <tt class="py-line">        <tt class="py-name">file</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">filename</tt><tt class="py-op">,</tt> <tt class="py-string">'rb'</tt><tt class="py-op">)</tt> </tt>
<a name="L1000"></a><tt class="py-lineno">1000</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">file</tt><tt class="py-op">:</tt> </tt>
<a name="L1001"></a><tt class="py-lineno">1001</tt>  <tt class="py-line">        <tt class="py-name">data</tt> <tt class="py-op">=</tt> <tt class="py-name">file</tt><tt class="py-op">.</tt><tt id="link-174" class="py-name" targets="Method gluon.tools.Crud.read()=gluon.tools.Crud-class.html#read,Method gluon.wsgiserver.SSLConnection.read()=gluon.wsgiserver.SSLConnection-class.html#read,Method gluon.wsgiserver.SSL_fileobject.read()=gluon.wsgiserver.SSL_fileobject-class.html#read,Method gluon.wsgiserver.SizeCheckWrapper.read()=gluon.wsgiserver.SizeCheckWrapper-class.html#read"><a title="gluon.tools.Crud.read
gluon.wsgiserver.SSLConnection.read
gluon.wsgiserver.SSL_fileobject.read
gluon.wsgiserver.SizeCheckWrapper.read" class="py-name" href="#" onclick="return doclink('link-174', 'read', 'link-174');">read</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L1002"></a><tt class="py-lineno">1002</tt>  <tt class="py-line">    <tt class="py-name">data</tt> <tt class="py-op">=</tt> <tt class="py-name">base64</tt><tt class="py-op">.</tt><tt class="py-name">b64encode</tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">)</tt> </tt>
<a name="L1003"></a><tt class="py-lineno">1003</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-string">'data:%s;base64,%s'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">extension</tt><tt class="py-op">,</tt> <tt class="py-name">data</tt><tt class="py-op">)</tt> </tt>
</div><a name="L1004"></a><tt class="py-lineno">1004</tt>  <tt class="py-line"> </tt>
<a name="L1005"></a><tt class="py-lineno">1005</tt>  <tt class="py-line"> </tt>
<a name="test"></a><div id="test-def"><a name="L1006"></a><tt class="py-lineno">1006</tt> <a class="py-toggle" href="#" id="test-toggle" onclick="return toggle('test');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="gluon.html-module.html#test">test</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="test-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="test-expanded"><a name="L1007"></a><tt class="py-lineno">1007</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
<a name="L1008"></a><tt class="py-lineno">1008</tt>  <tt class="py-line"><tt class="py-docstring">    Example:</tt> </tt>
<a name="L1009"></a><tt class="py-lineno">1009</tt>  <tt class="py-line"><tt class="py-docstring">   </tt> </tt>
<a name="L1010"></a><tt class="py-lineno">1010</tt>  <tt class="py-line"><tt class="py-docstring">    &gt;&gt;&gt; from validators import *</tt> </tt>
<a name="L1011"></a><tt class="py-lineno">1011</tt>  <tt class="py-line"><tt class="py-docstring">    &gt;&gt;&gt; print DIV(A('click me',_href=URL(a='a',c='b',f='c')),BR(),HR(),DIV(SPAN(\"World\"),_class='unkown')).xml()</tt> </tt>
<a name="L1012"></a><tt class="py-lineno">1012</tt>  <tt class="py-line"><tt class="py-docstring">    &lt;div&gt;&lt;a href=\"/a/b/c\"&gt;click me&lt;/a&gt;&lt;br /&gt;&lt;hr /&gt;&lt;div class=\"unkown\"&gt;&lt;span&gt;World&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;</tt> </tt>
<a name="L1013"></a><tt class="py-lineno">1013</tt>  <tt class="py-line"><tt class="py-docstring">    &gt;&gt;&gt; print DIV(UL(\"doc\",\"cat\",\"mouse\")).xml()</tt> </tt>
<a name="L1014"></a><tt class="py-lineno">1014</tt>  <tt class="py-line"><tt class="py-docstring">    &lt;div&gt;&lt;ul&gt;&lt;li&gt;doc&lt;/li&gt;&lt;li&gt;cat&lt;/li&gt;&lt;li&gt;mouse&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;</tt> </tt>
<a name="L1015"></a><tt class="py-lineno">1015</tt>  <tt class="py-line"><tt class="py-docstring">    &gt;&gt;&gt; print DIV(UL(\"doc\",LI(\"cat\", _class='felin'),18)).xml()</tt> </tt>
<a name="L1016"></a><tt class="py-lineno">1016</tt>  <tt class="py-line"><tt class="py-docstring">    &lt;div&gt;&lt;ul&gt;&lt;li&gt;doc&lt;/li&gt;&lt;li class=\"felin\"&gt;cat&lt;/li&gt;&lt;li&gt;18&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;</tt> </tt>
<a name="L1017"></a><tt class="py-lineno">1017</tt>  <tt class="py-line"><tt class="py-docstring">    &gt;&gt;&gt; print TABLE(['a','b','c'],TR('d','e','f'),TR(TD(1),TD(2),TD(3))).xml()</tt> </tt>
<a name="L1018"></a><tt class="py-lineno">1018</tt>  <tt class="py-line"><tt class="py-docstring">    &lt;table&gt;&lt;tr&gt;&lt;td&gt;a&lt;/td&gt;&lt;td&gt;b&lt;/td&gt;&lt;td&gt;c&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;d&lt;/td&gt;&lt;td&gt;e&lt;/td&gt;&lt;td&gt;f&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</tt> </tt>
<a name="L1019"></a><tt class="py-lineno">1019</tt>  <tt class="py-line"><tt class="py-docstring">    &gt;&gt;&gt; form=FORM(INPUT(_type='text',_name='myvar',requires=IS_EXPR('int(value)&lt;10')))</tt> </tt>
<a name="L1020"></a><tt class="py-lineno">1020</tt>  <tt class="py-line"><tt class="py-docstring">    &gt;&gt;&gt; print form.xml()</tt> </tt>
<a name="L1021"></a><tt class="py-lineno">1021</tt>  <tt class="py-line"><tt class="py-docstring">    &lt;form action=\"\" enctype=\"multipart/form-data\" method=\"post\"&gt;&lt;input name=\"myvar\" type=\"text\" /&gt;&lt;/form&gt;</tt> </tt>
<a name="L1022"></a><tt class="py-lineno">1022</tt>  <tt class="py-line"><tt class="py-docstring">    &gt;&gt;&gt; print form.accepts({'myvar':'34'},formname=None)</tt> </tt>
<a name="L1023"></a><tt class="py-lineno">1023</tt>  <tt class="py-line"><tt class="py-docstring">    False</tt> </tt>
<a name="L1024"></a><tt class="py-lineno">1024</tt>  <tt class="py-line"><tt class="py-docstring">    &gt;&gt;&gt; print form.xml()</tt> </tt>
<a name="L1025"></a><tt class="py-lineno">1025</tt>  <tt class="py-line"><tt class="py-docstring">    &lt;form action=\"\" enctype=\"multipart/form-data\" method=\"post\"&gt;&lt;input name=\"myvar\" type=\"text\" value=\"34\" /&gt;&lt;div class=\"error\"&gt;invalid expression!&lt;/div&gt;&lt;/form&gt;</tt> </tt>
<a name="L1026"></a><tt class="py-lineno">1026</tt>  <tt class="py-line"><tt class="py-docstring">    &gt;&gt;&gt; print form.accepts({'myvar':'4'},formname=None,keepvalues=True)</tt> </tt>
<a name="L1027"></a><tt class="py-lineno">1027</tt>  <tt class="py-line"><tt class="py-docstring">    True</tt> </tt>
<a name="L1028"></a><tt class="py-lineno">1028</tt>  <tt class="py-line"><tt class="py-docstring">    &gt;&gt;&gt; print form.xml()</tt> </tt>
<a name="L1029"></a><tt class="py-lineno">1029</tt>  <tt class="py-line"><tt class="py-docstring">    &lt;form action=\"\" enctype=\"multipart/form-data\" method=\"post\"&gt;&lt;input name=\"myvar\" type=\"text\" value=\"4\" /&gt;&lt;/form&gt;</tt> </tt>
<a name="L1030"></a><tt class="py-lineno">1030</tt>  <tt class="py-line"><tt class="py-docstring">    &gt;&gt;&gt; form=FORM(SELECT('cat','dog',_name='myvar'))</tt> </tt>
<a name="L1031"></a><tt class="py-lineno">1031</tt>  <tt class="py-line"><tt class="py-docstring">    &gt;&gt;&gt; print form.accepts({'myvar':'dog'},formname=None,keepvalues=True)</tt> </tt>
<a name="L1032"></a><tt class="py-lineno">1032</tt>  <tt class="py-line"><tt class="py-docstring">    True</tt> </tt>
<a name="L1033"></a><tt class="py-lineno">1033</tt>  <tt class="py-line"><tt class="py-docstring">    &gt;&gt;&gt; print form.xml()</tt> </tt>
<a name="L1034"></a><tt class="py-lineno">1034</tt>  <tt class="py-line"><tt class="py-docstring">    &lt;form action=\"\" enctype=\"multipart/form-data\" method=\"post\"&gt;&lt;select name=\"myvar\"&gt;&lt;option value=\"cat\"&gt;cat&lt;/option&gt;&lt;option selected=\"selected\" value=\"dog\"&gt;dog&lt;/option&gt;&lt;/select&gt;&lt;/form&gt;</tt> </tt>
<a name="L1035"></a><tt class="py-lineno">1035</tt>  <tt class="py-line"><tt class="py-docstring">    &gt;&gt;&gt; form=FORM(INPUT(_type='text',_name='myvar',requires=IS_MATCH('^\w+$','only alphanumeric!')))</tt> </tt>
<a name="L1036"></a><tt class="py-lineno">1036</tt>  <tt class="py-line"><tt class="py-docstring">    &gt;&gt;&gt; print form.accepts({'myvar':'as df'},formname=None)</tt> </tt>
<a name="L1037"></a><tt class="py-lineno">1037</tt>  <tt class="py-line"><tt class="py-docstring">    False</tt> </tt>
<a name="L1038"></a><tt class="py-lineno">1038</tt>  <tt class="py-line"><tt class="py-docstring">    &gt;&gt;&gt; print form.xml()</tt> </tt>
<a name="L1039"></a><tt class="py-lineno">1039</tt>  <tt class="py-line"><tt class="py-docstring">    &lt;form action=\"\" enctype=\"multipart/form-data\" method=\"post\"&gt;&lt;input name=\"myvar\" type=\"text\" value=\"as df\" /&gt;&lt;div class=\"error\"&gt;only alphanumeric!&lt;/div&gt;&lt;/form&gt;</tt> </tt>
<a name="L1040"></a><tt class="py-lineno">1040</tt>  <tt class="py-line"><tt class="py-docstring">    &gt;&gt;&gt; session={}</tt> </tt>
<a name="L1041"></a><tt class="py-lineno">1041</tt>  <tt class="py-line"><tt class="py-docstring">    &gt;&gt;&gt; form=FORM(INPUT(value=\"Hello World\",_name=\"var\",requires=IS_MATCH('^\w+$')))</tt> </tt>
<a name="L1042"></a><tt class="py-lineno">1042</tt>  <tt class="py-line"><tt class="py-docstring">    &gt;&gt;&gt; if form.accepts({},session,formname=None): print 'passed'</tt> </tt>
<a name="L1043"></a><tt class="py-lineno">1043</tt>  <tt class="py-line"><tt class="py-docstring">    &gt;&gt;&gt; if form.accepts({'var':'test ','_formkey':session['_formkey[None]']},session,formname=None): print 'passed'</tt> </tt>
<a name="L1044"></a><tt class="py-lineno">1044</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
<a name="L1045"></a><tt class="py-lineno">1045</tt>  <tt class="py-line"> </tt>
<a name="L1046"></a><tt class="py-lineno">1046</tt>  <tt class="py-line">    <tt class="py-keyword">pass</tt> </tt>
</div><a name="L1047"></a><tt class="py-lineno">1047</tt>  <tt class="py-line"> </tt>
<a name="L1048"></a><tt class="py-lineno">1048</tt>  <tt class="py-line"> </tt>
<a name="L1049"></a><tt class="py-lineno">1049</tt>  <tt class="py-line"><tt class="py-keyword">if</tt> <tt class="py-name">__name__</tt> <tt class="py-op">==</tt> <tt class="py-string">'__main__'</tt><tt class="py-op">:</tt> </tt>
<a name="L1050"></a><tt class="py-lineno">1050</tt>  <tt class="py-line">    <tt class="py-keyword">import</tt> <tt class="py-name">doctest</tt> </tt>
<a name="L1051"></a><tt class="py-lineno">1051</tt>  <tt class="py-line">    <tt class="py-name">doctest</tt><tt class="py-op">.</tt><tt class="py-name">testmod</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L1052"></a><tt class="py-lineno">1052</tt>  <tt class="py-line"> </tt><script type="text/javascript">
<!--
expandto(location.href);
// -->
</script>
</pre>
<br />
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
       bgcolor="#a0c0ff" cellspacing="0">
  <tr valign="middle">
  <!-- Home link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="gluon-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Tree link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Index link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Help link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Project homepage -->
      <th class="navbar" align="right" width="100%">
        <table border="0" cellpadding="0" cellspacing="0">
          <tr><th class="navbar" align="center"
            ><a class="navbar" target="_top" href="http://www.web2py.com">web2py Web Framework</a></th>
          </tr></table></th>
  </tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
  <tr>
    <td align="left" class="footer">
    Generated by Epydoc 3.0.1 on Tue Feb 17 09:15:34 2009
    </td>
    <td align="right" class="footer">
      <a target="mainFrame" href="http://epydoc.sourceforge.net"
        >http://epydoc.sourceforge.net</a>
    </td>
  </tr>
</table>

<script type="text/javascript">
  <!--
  // Private objects are initially displayed (because if
  // javascript is turned off then we want them to be
  // visible); but by default, we want to hide them.  So hide
  // them unless we have a cookie that says to show them.
  checkCookie();
  // -->
</script>
</body>
</html>
